Ansible 管理MySQL主从复制

Posted 会飞の鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ansible 管理MySQL主从复制相关的知识,希望对你有一定的参考价值。

mysql_replication - 管理MySQL复制

1.3版新功能

概要

  • 管理MySQL服务器复制,从属,主状态获取和更改主控主机。

选项

参数需要默认选择注释
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主从复制的主要内容,如果未能解决你的问题,请参考以下文章

mysql实验&ansible常用模块

MySQL集群和ansible的简单介绍

使用 Ansible 管理 MySQL 复制

Ansible-playbook自动部署MySQL主从

使用 Ansible 管理 MySQL 复制

青云Xenon管理mysql主从复制测试