Switching Masters During Failover

孤街浪徒 提交于 2019-11-29 06:03:16

#### 目的

复制环境中 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 的步骤一致 。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!