आप mysql-root-password को बदलने में सक्षम होने के लिए ~ / .my.cnf का दुरुपयोग कर सकते हैं।
ट्रिक में एक टास्क है "रूट पासवर्ड सेट करें" (nr.1), जो पासवर्ड सेट करेगा। बाद में, आपके पास एक कार्य है, जो सही क्रेडेंशियल (nr.2) के साथ ~ / .my.cnf बनाता है ।
एक नई प्रणाली पर, ~ / .my.cnf मौजूद नहीं है। टास्क nr.1 दिए गए क्रेडेंशियल्स के साथ mysql-root-user बनाएगा। एक वर्तमान व्यवस्था पर, साख से ~ / .my.cnf करने के लिए प्रवेश और सेट पासवर्ड के लिए उपयोग किया जाता है mysql_root_password । टास्क nr.2 नए लोगों के लिए ~ / .my.cnf , मौजूदा पुराने क्रेडेंशियल ~ / .my.cnf बनाएगा ।
इस दृष्टिकोण का बड़ा लाभ केवल एक चर "mysql_root_password" है, जो हमेशा प्लेबुक के दृष्टिकोण से सही होता है। वर्तमान प्रणाली पर, मौजूदा स्थानीय mysql- क्रेडेंशियल्स के लिए ~ / .my.cnf एक तरह का भंडारण है।
- name: Set root user password
# If .my.cnf already exists, this will cause an mysql-root-password update.
mysql_user:
name: root
password: "{{ mysql_root_password}}"
check_implicit_admin: true
- name: Create .my.cnf
template:
src: "client.my.cnf.j2"
dest: "/root/.my.cnf"
owner: root
group: root
mode: 0600
client.my.cnf.j2 के साथ:
[client]
user=root
password={{ mysql_root_password }}
आगे की पढाई
Ansible-mysql_user_module- प्रलेखन से प्रासंगिक नोट :
नोट 1:
इस उपयोगकर्ता को एक बेमिसाल प्लेबुक के हिस्से के रूप में सुरक्षित करने के लिए, आपको कम से कम दो कार्य बनाने होंगे: सबसे पहले रूट उपयोगकर्ता का पासवर्ड बदलना होगा, बिना कोई लॉगिन_सार / लॉगिन_पासवर्ड विवरण प्रदान किए। दूसरे को नई रूट क्रेडेंशियल्स वाली ~ / .my.cnf फाइल को छोड़ना होगा। बाद में प्लेबुक के रन रन फ़ाइल से नए क्रेडेंशियल्स को पढ़कर सफल होंगे। ansible-mysql_user_module, नोट्स
नोट 2:
जब आप क्रेडेंशियल पास कर रहे हों तो login_password और login_user दोनों की आवश्यकता होती है। यदि कोई भी मौजूद नहीं है, तो मॉड्यूल ~ / .my.cnf से क्रेडेंशियल्स को पढ़ने का प्रयास करेगा, और अंत में बिना पासवर्ड के 'रूट' के MySQL डिफ़ॉल्ट लॉगिन का उपयोग करने के लिए वापस गिर जाएगा। ansible-mysql_user_module, नोट्स
mysqladmin
- लेकिन इससे पहले कि मैं आपका जवाब देख