首页 > 代码库 > Ansible 管理MySQL主从复制

Ansible 管理MySQL主从复制

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主从复制