转载请注明出处:http://blog.csdn.net/l1028386804/article/details/52783712
Master:192.168.0.152
Slave: 192.168.0.153 192.168.0.154
监控服务器: 192.168.0.154
注意:真实生产环境最好有一台单独的服务器监控数据库Replication,这里我就直接用一台Salve服务器当做监控服务器了。
到http://dev.mysql.com/downloads/下载 MySQL Utilities和MySQL Connectors并安装
在192.168.0.154(监控服务器)服务器上执行以下命令来安装下载的MySQL Utilities和MySQL Connectors
yum install mysql-connector-python-2.1.4-1.el6.x86_64.rpm mysql-utilities-1.6.4-1.el6.noarch.rpm
Master:192.168.0.152
Slave: 192.168.0.153 192.168.0.154
监控服务器: 192.168.0.154
配置Replication请参见博文《MySQL之——MS主从复制(读写分离)实现》 、《MySQL之——MSS主从复制(读写分离)实现》 、《MySQL之——BinLog Replication升级为GTIDs Replication四步骤》。
在192.168.0.152、192.168.0.153和192.168.0.154服务器上分别执行:
mysql>grant create,insert ,drop, select, super, replication slave, reload on *.* to 'replm'@'192.168.0.154' identified by password 'replm' with grant option;
在192.168.0.152、192.168.0.153和192.168.0.154分别执行
mysql>show grants for [email protected];
可验证是否授权成功。
注意:如果是单独的一台服务器监控Replication, 只在Replication涉及到的Master和Slave服务器上执行授权操作,授权目标IP为监控服务器IP
以下是配置Replication监控和故障切换时my.cnf文件中的核心配置
[mysqld]
log-bin=/data/mysql3306log/mysql-bin
binlog-format=mixed
server-id = 001
sync_binlog=1
gtid-mode=on
enforce-gtid-consistency
log-slave-updates
report-host=192.168.0.154
master-info-repository=TABLE
relay-log-info-repository=TABLE
修改配置后,重启mysql服务器,然后mysql服务器会将存储在二进制日志中的两个文件master.info和relay-log.info保存到数据库中,此时执行use mysql;show tables; 会发现mysql数据库中新创建了slave_master_info和slave_relay_log_info两张表。
在192.168.0.154(监控服务器)上执行
#mysqlfailover --master=replm:[email protected] --discover-slaves-login=replm:replm
至此,我们配置好了Replication监控及自动故障切换功能了。