Ansible 管理MySQL主從復制
阿新 • • 發佈:2017-06-27
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 |
|
和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 |
|
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_password
和login_user
你逝去的憑據是必需的。如果不存在,則模塊將嘗試從中讀取憑據~/.my.cnf
,最後回到使用MySQL默認登錄的“root”,沒有密碼。
狀態
該模塊被標記為預覽,這意味著它不能保證具有向後兼容的界面。
支持
這個模塊是沒有核心提交者監督的社區維護的。
有關這是什麽意思的更多信息,請閱讀模塊支持
為了幫助開發模塊,如果您有這樣的傾向,請閱讀社區信息和貢獻,測試可編程和開發模塊。
Ansible 管理MySQL主從復制