时间:2021-07-01 10:21:17 帮助过:33人阅读
这里用到了 start slave until 这个命令
首先从 左至右做转换调整,一主俩从转换成级联从,首先先stop slave左侧是从机,我们暂时称为s1 之后,之后我们需要操作右侧的从机 S2,这里最好使用脚本执行,保证不影响线上业务,执行语句如下
mysql -uroot -p"密码" -e "stop slave;"
mysql -uroot -p"密码" -e "show master status\G"> /home/liuminkun/master.info
mysql -uroot -p"密码" -e "show slave status\G"> /home/liuminkun/slave.info
mysql -uroot -p"密码" -e "start slave;"
这样我们在文本中就得到了,主机M的以及一台从机的binlog和pos信,同时确认了M的binlog文件与S2的binlog文件对应关系
这时我们需要在需要转换的级联从的S1上执行start slave until MASTER_LOG_FILE = ‘log_name‘, MASTER_LOG_POS = log_pos; 这里的binlog名称和log_pos使用刚才在文本里得到的slave status
信息,运行到该binlog文件的pos点时候 sql thread会自动停止且io thread会继续运行,此时只要change master to 刚才文本中的master status信息,之后即可start slave查看下s1的同步状态了。
反之亦然,这样的操作可以避免通过重做mysql来完成架构切换,而且也可以解决切换后的数据一致性问题。
本文出自 “云淡风轻” 博客,谢绝转载!
mysql 主从关系切换
标签:mysql thread change status master