《Mycat学习笔记》 第三篇. MySql 主从同步异常后,主从切换
时间:2022-03-14 17:39
1)系统环境说明
MySql 5.5 主从节点
127.0.0.1:3306 主结点,为验证主从切换效果,手动停止服务
127.0.0.1: 3307 从结点 1
127.0.0.1:338 从结点 2 ,为验证主从切换效果,在主结点停止后,新增两个记录。
MyCat 1.5 schema.xml 配置
具体配置说明,参考上篇:
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="1"
writeType="0" dbType="mysql" dbDriver="native" switchType="2" slaveThreshold="100">
<heartbeat>show slave status</heartbeat>
<!-- can have multi write hosts -->
<writeHost host="hostM1" url="localhost:3306" user="root" password="root123">
<!-- can have multi read hosts -->
<readHost host="hostS1" url="localhost:3307" user="root" password="root123" />
</writeHost>
<writeHost host="hostM2" url="localhost:3308" user="root" password="root123"></writeHost>
</dataHost>
2)整体切换流程
- 原主机(3306)停止服务
- MyCat 自动检测进行主从切换(hostM1转为hostM2)
- 通过mycat insert data,数据只在 3308 的数据库中体现
- 启动原主机mysql 3306 服务
- 手动同步数据 mysql workbench (暂时不知道别的方法,)
- 调整mysql master 和 slave的关系 ,将3308设为主机,3306设为从机,3307配置不动
- 通过mycat 验证新的主从配置
- mycat 不用重启,服务会自动切换
3)具体操作步骤
3.1)停止3308 环境 slave模式 并 开启 master
停止slave
mysql> stop slave;
配置3308为主机模式
mysql> GRANT REPLICATION SLAVE ON *.* to ‘mycat_sync_3308‘@‘%‘ identified by ‘mycat_sync_3308‘;
Query OK, 0 rows affected (0.00 sec)
mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000005 | 284 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
3.2)3306 环境开启slave
3.3)原master机切换为slave模式
3.4)数据验证
3.5)mycat 验证