Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

Ansible idempotent MySQL इंस्टालेशन प्लेबुक

मैंने इसके बारे में coderwall पर पोस्ट किया है , लेकिन मैं अपनी मूल पोस्ट की टिप्पणियों में डेनिसजैक के सुधार को पुन:पेश करूंगा।

इसे बेकार ढंग से करने की चाल यह जान रही है कि mysql_user मॉड्यूल एक ~/.my.cnf फ़ाइल को लोड करेगा यदि यह एक पाता है।

मैं पहले पासवर्ड बदलता हूं, फिर पासवर्ड क्रेडेंशियल के साथ एक .my.cnf फ़ाइल कॉपी करता हूं। जब आप इसे दूसरी बार चलाने का प्रयास करते हैं, तो myqsl_user ansible मॉड्यूल .my.cnf ढूंढेगा और नए पासवर्ड का उपयोग करेगा।

- hosts: staging_mysql
  user: ec2-user
  sudo: yes

  tasks:
    - name: Install MySQL
      action: yum name={{ item }}
      with_items:
        - MySQL-python
        - mysql
        - mysql-server

    - name: Start the MySQL service
      action: service name=mysqld state=started

    # 'localhost' needs to be the last item for idempotency, see
    # http://ansible.cc/docs/modules.html#mysql-user
    - name: update mysql root password for all root accounts
      mysql_user: name=root host={{ item }} password={{ mysql_root_password }} priv=*.*:ALL,GRANT
      with_items:
        - "{{ ansible_hostname }}"
        - 127.0.0.1
        - ::1
        - localhost

    - name: copy .my.cnf file with root password credentials
      template: src=templates/root/.my.cnf dest=/root/.my.cnf owner=root mode=0600

.my.cnf टेम्प्लेट इस तरह दिखता है:

[client]
user=root
password={{ mysql_root_password }}

संपादित करें:टिप्पणियों में धनंजय नेने द्वारा सुझाए गए विशेषाधिकार जोड़े गए, और डॉलर चिह्न के बजाय ब्रेसिज़ का उपयोग करने के लिए परिवर्तनीय इंटरपोलेशन को बदल दिया



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. यूयूआईडी को बाइनरी के रूप में सम्मिलित करना और चुनना(16)

  2. mysql दो कॉलम द्वारा क्वेरी ऑर्डर में शामिल हों

  3. MySQL क्वेरी:कॉमा सेपरेटेड स्ट्रिंग वाले कॉलम के साथ कॉमा सेपरेटेड वैल्यू का मिलान करें

  4. MySQL में ADDDATE () बनाम DATE_ADD ():क्या अंतर है?

  5. 8 सबसे लोकप्रिय डेटाबेस