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

उत्तर में एक अलग मेजबान के लिए दूसरे कार्य में एक कार्य के वापसी मूल्यों का उपयोग कैसे करें

मैं चर को एक नए डमी होस्ट . में परिभाषित करके अपनी समस्या का समाधान करने में सक्षम था और फिर hostvars . के साथ प्लेबुक में इसका उपयोग करना ।

इसी तरह के समाधान का उल्लेख मैं एक वेरिएबल रजिस्टर कैसे सेट कर सकता हूं जो एन्सिबल में नाटकों के बीच बना रहे? हालाँकि मैंने इस पर तब तक ध्यान नहीं दिया जब तक मैंने यह प्रश्न पोस्ट नहीं किया।

उत्तरदायी कार्यों में मैंने जो किया वह यहां दिया गया है:

  • मैंने एक डमी होस्ट बनाया है master_value_holder और परिभाषित आवश्यक चर। (यहाँ मुझे चाहिए master_log_file औरमास्टर_लॉग_पोस्टियन )
  • वेरिएबल को hostvars['master_value_holder']['master_log_file'] का इस्तेमाल करके एक्सेस किया

मास्टर पर कार्य

- name: Mysql - Check master replication status.
  mysql_replication: mode=getmaster
  register: master

- name: "Add master return values to a dummy host"
  add_host:
    name:   "master_value_holder"
    master_log_file: "{{ master.File }}"
    master_log_pos: "{{ master.Position }}"

दास के लिए कार्य

- name: Mysql - Displaying master replication status
  debug: msg="Master Bin Log File  is {{ hostvars['master_value_holder']['master_log_file'] }} and Master Bin Log Position is {{ hostvars['master_value_holder']['master_log_pos'] }}"

- name: Mysql - Configure replication on the slave.
  mysql_replication:
    mode: changemaster
    master_host: "{{ replication_master }}"
    master_user: "{{ replication_user }}"
    master_password: "{{ replication_pass }}"
    master_log_file: "{{ hostvars['master_value_holder']['master_log_file'] }}"
    master_log_pos: "{{ hostvars['master_value_holder']['master_log_pos'] }}"
  when: ansible_eth0.ipv4.address != replication_master and not slave.Slave_SQL_Running

आउटपुट

TASK [Mysql_Base : Mysql - Check master replication status.] ****************
skipping: [stagmysql02]
ok: [stagmysql01]

TASK [AZ-Mysql_Base : Add master return values to a dummy host] ****************
changed: [stagmysql01]

TASK [AZ-Mysql_Base : Mysql - Displaying master replication status] ************
ok: [stagmysql01] => {
    "msg": "Master Bin Log File  is mysql-bin.000001 and Master Bin Log Position is 154"
}
ok: [stagmysql02] => {
    "msg": "Master Bin Log File  is mysql-bin.000001 and Master Bin Log Position is 154"
}

TASK [AZ-Mysql_Base : Mysql - Configure replication on the slave.] *************
skipping: [stagmysql01]
skipping: [stagmysql02]

जैसा कि आप उपरोक्त आउटपुट से देख सकते हैं कि मास्टर प्रतिकृति स्थिति अब दोनों मेजबानों के लिए उपलब्ध है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ubuntu 10.04 LTS (ल्यूसिड) पर MySQL रिलेशनल डेटाबेस का उपयोग करें

  2. रूबी:mysql2-Gem काम नहीं कर रहा है (Mac OS X स्नो लेपर्ड, रूबी 1.9.2)

  3. mysql पीडीओ कैसे बांधें LIKE

  4. मैसकल तिथि के अनुसार क्रमबद्ध करें लेकिन वर्ष को अनदेखा करें

  5. MySQL :हर दिन का योग