1. 程式人生 > >Ansible 管理MySQL主從復制

Ansible 管理MySQL主從復制

unit class border moni 必須 aml conn scala body

mysql_replication - 管理MySQL復制

1.3版新功能

  • 概要
  • 要求(在執行模塊的主機上)
  • 選項
  • 例子
  • 筆記
    • 狀態
    • 支持

概要

  • 管理MySQL服務器復制,從屬,主狀態獲取和更改主控主機。

要求(在執行模塊的主機上)

  • MySQLdb的

選項

參數需要默認選擇註釋
CONFIG_FILE
(2.0 加入)
no ?/ .my.cnf 指定要從中讀取用戶和密碼的配置文件。
connect_timeout
(2.1 加入)
no 30 連接到MySQL服務器時的連接超時。
login_host
no localhost 主機運行數據庫。
login_password
no 用於驗證的密碼。
login_port
no 3306 MySQL服務器端口。如果使用login_port,則需要將login_host定義為其他本地主機。
login_unix_socket
no 到本地連接的Unix域套接字的路徑。
login_user
no 用於驗證的用戶名。
master_auto_position
(2.0 加入)
no 主機是否使用基於GTID的復制
master_connect_retry
no 和mysql變量一樣
MASTER_HOST
no 和mysql變量一樣
MASTER_LOG_FILE
no 和mysql變量一樣
MASTER_LOG_POS
no 和mysql變量一樣
MASTER_PASSWORD
no 和mysql變量一樣
MASTER_PORT
no 和mysql變量一樣
master_ssl
no
  • 0
  • 1
和mysql變量一樣
master_ssl_ca
no 和mysql變量一樣
master_ssl_capath
no 和mysql變量一樣
master_ssl_cert
no 和mysql變量一樣
master_ssl_cipher
no 和mysql變量一樣
master_ssl_key
no 和mysql變量一樣
MASTER_USER
no 和mysql變量一樣
mode no getslave
  • getslave
  • getmaster
  • changemaster
  • stopslave
  • startslave
  • resetslave
  • resetslaveall
module operating mode. Could be getslave (SHOW SLAVE STATUS), getmaster (SHOW MASTER STATUS), changemaster (CHANGE MASTER TO), startslave (START SLAVE), stopslave (STOP SLAVE), resetslave (RESET SLAVE), resetslaveall (RESET SLAVE ALL)
RELAY_LOG_FILE
no 和mysql變量一樣
RELAY_LOG_POS
no 和mysql變量一樣
ssl_ca
(加入2.0)
no 證書頒發機構(CA)證書的路徑。此選項(如果使用)必須指定與服務器使用的相同的證書。
ssl_cert
(加入2.0)
no 客戶端公鑰證書的路徑。
ssl_key
(加入2.0)
no 客戶端私鑰的路徑。

例子

# Stop mysql slave thread
- mysql_replication:
    mode: stopslave

# Get master binlog file name and binlog position
- mysql_replication:
    mode: getmaster

# Change master to master server 192.0.2.1 and use binary log ‘mysql-bin.000009‘ with position 4578
- mysql_replication:
    mode: changemaster
    master_host: 192.0.2.1
    master_log_file: mysql-bin.000009
    master_log_pos: 4578

# Check slave status using port 3308
- mysql_replication:
    mode: getslave
    login_host: ansible.example.com
    login_port: 3308

註意

  • 需要遠程主機上的MySQLdb Python包。對於Ubuntu,這和apt-get install python-mysqldb一樣簡單。(請參閱apt。)對於CentOS / Fedora,這與yum安裝MySQL-python一樣簡單。(見yum。)
  • 無論login_passwordlogin_user你逝去的憑據是必需的。如果不存在,則模塊將嘗試從中讀取憑據~/.my.cnf,最後回到使用MySQL默認登錄的“root”,沒有密碼。

狀態

該模塊被標記為預覽,這意味著它不能保證具有向後兼容的界面。

支持

這個模塊是沒有核心提交者監督的社區維護的。

有關這是什麽意思的更多信息,請閱讀模塊支持

為了幫助開發模塊,如果您有這樣的傾向,請閱讀社區信息和貢獻測試可編程開發模塊

Ansible 管理MySQL主從復制