视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
MySQL之-Replication监控及自动故障切换的详细分析
2020-11-09 09:07:49 责编:小采
文档

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

下载 MySQL Utilities和MySQL Connectors并安装
在192.168.0.154(监控服务器)服务器上执行以下命令来安装下载的MySQL Utilities和MySQL Connectors

yum install mysql-connector-python-2.1.4-1.el6.x86_.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 replm@192.168.0.154;

可验证是否授权成功。

注意:如果是单独的一台服务器监控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:replm@192.168.0.152 --discover-slaves-login=replm:replm

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

下载本文
显示全文
专题