MySQL之——Replication监控及自动故障切换

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/52783712

1、服务器规划

    Master:192.168.0.152
    Slave: 192.168.0.153     192.168.0.154
    监控服务器: 192.168.0.154
    注意:真实生产环境最好有一台单独的服务器监控数据库Replication,这里我就直接用一台Salve服务器当做监控服务器了。

2、安装MySQL Utilities和MySQL Connectors

到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

3、配置好Replcation环境,一台Mster和两台Slave环境

    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四步骤》。

4、为监控机授权

在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

5、修改Master和Slave服务器的配置文件,并启用配置

以下是配置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两张表。

6、启动监控端

在192.168.0.154(监控服务器)上执行

#mysqlfailover --master=replm:[email protected] --discover-slaves-login=replm:replm
至此,我们配置好了Replication监控及自动故障切换功能了。
注意:当Master服务器挂掉的时候,mysqlfailover会自动在slave服务器中选择一个作为Master,其他slave均对应到新的Master服务器。
注意:当Master挂掉后,mysqlfailover自动在其他slave中选择一个服务器当做Master,当我们手动重启原来的Master服务器时,mysqlfailover不能自动发现原来挂掉的mysql服务器又重启了,这个时候就要我们自己手动将原来挂掉的mysql服务器重启并作为一个Slave服务器加入到Replication中。


你可能感兴趣的:(MySQL技术)