Switching Masters During Failover
目的
复制环境中 master 宕机,提升一台 slave(slave1) 作为新的 master
演示环境
master slave1 slave2 slave3
前提条件
所有 slave 都具备如下配置
- 开启 –log-bin
- 关闭 –log-slave-updates (如果 slave 开启了这个参数,会导致在它成为 master 之后,将他收到的 binlog 传给其他 slave )
切换流程
1. 在所有 slave 上执行
1.1 stop slave io_thread;
然后查看 SHOW PROCESSLIST 输出,确保提示 Has read all relay log,这时候就可以选新 master 了。
2. 在新主 slave1 上执行
2.1 stop slave ;
2.2 reset master ;
3. 在其他从库 slave2 和 slave3 上执行
3.1 stop slave ;
3.2 change master to master_host=’slave1’(还有 user,password,port,不需要指定 MASTER_LOG_FILE 和 MASTER_LOG_POS );
3.3 start slave ;
4. 老 master 恢复后
4.1. 将老 master 作为新集群中的slave
执行 step3,使其成为 slave 。
4.2 将老 master 重新切换成集群的 master
和 slave1 提升为 master 的步骤一致 。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ASKDBA!
评论