mysql主从切换流程

mysql主从机制主要是在主机意外情况中断服务(比如断电、宕机等)的情况下,能够将业务转向备机,下面梳理一下整个切换流程:

NOTE:

在当前方案下,没有中间代理层,需要业务手动修改mysql的IP和Port才能切换到备机上去,所以业务需要具有灵活配置Mysql 地址的能力。

1、确认主库短时内无法恢复

如果主库已经无法使用,并且确实短时间内没法恢复正常,则考虑切换备库作为新的主库。

2、停止从库 IO_THREAD 线程

先停止 IO_THREAD 线程, 即断开从主库的 sql 消息接收, 有利于从库完成剩余的数据同步。

#slave
mysql> stop slave IO_THREAD;
mysql> show slave status;

#上面命令检查是否是如下状态,如果是说明io_thread线程已经停止Slave_IO_Running: NoSlave_SQL_Running: Yes

3、确认slave完成所有同步

slave  mysql> show processlist;

直到看到状态都为 XXX has read all relay log 表示从库更新均执行完毕,则可以进行下一步。

4、切换从库为主库

mysql> stop slave;  # 完全停止 slave 复制 
mysql> reset slave all; # 完全清空 slave 复制信息
msyql> reset master; # 清空本机上 master 的位置信息

5、检查新主库可写性

之前配置成从库时,可能配置read_only为1,即不可写,这时候要确认一下新库是否支持写入操作,若不能写入,需要将数据库设为可读写。

mysql> set global read_only=0; #关闭数据库只读属性 

# 或者配置文件中置该配置项为0,然后重启mysql

6、通知业务修改相应端口

业务需要修改mysql新地址,所以需要业务代码具有灵活配置能力。

你可能感兴趣的:(数据库,mysql,数据库)