mysql主从架构-主从正常切换,主库宕机切换。

Posted JingHua

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql主从架构-主从正常切换,主库宕机切换。相关的知识,希望对你有一定的参考价值。

 

 

 

mysql主从切换手册

Master-Slave架构

运维部

V1.0

 

 

 

 

 

 

 

 

 

2016年      05月    24   日

 

 

 

正常切换

  1. 检查slave同步状态

1)在master执行:show processlist;

显示Master has sent all binlog to slave; waiting for binlog to be updated

 

2)在slave执行:show processlist;

显示Slave has read all relay log; waiting for the slave I/O thread to update it

mysql> show slave status \G;

 

检查IO及SQL线程是否正常,如果为NO表明同步不一致,需要重新将slave同步保持主从数据一致。

3)停止slave io线程

在slave执行:mysql> STOP SLAVE IO_THREAD

mysql> SHOW PROCESSLIST;

确保状态为:has read all relay log

 

以上都执行完成后可以把slave提升为master:

4)提升slave为master

Stop slave;

Reset master;

Reset slave all; 在5.6.3版本之后

Reset slave; 在5.6.3版本之前

查看slave是否只读模式:show variables like ‘read_only‘;

只读模式需要修改my.cnf文件,注释read-only=1并重启mysql服务。

或者不重启使用命令关闭只读,但下次重启后失效:set global read_only=off;

mysql> show master status \G;

备注:reset slave all 命令会删除从库的 replication 参数,之后 show slave status\G 的信息返回为空。

5)将原来master变为slave

在新的master上创建同步用户:

grant replication slave on *.* [email protected]‘IP of slave‘ identified by ‘replpwd‘;

在新的slave上重置binlog:

Reset master;

change master to master_host=‘192.168.0.104‘, //Master 服务器Ip

master_port=3306,

master_user=‘repl‘,

master_password=’replpwd’,

master_log_file=‘master-bin.000001‘,//Master服务器产生的日志

master_log_pos=?;//master binlog pos

以上最后两步可以在master执行:show master status

 

启动slave:start slave; 并查看slave状态:show slave status\G;

           异常切换

主机故障或者宕机:

1)   在salve执行:

stop slave;

reset master;

查看是否只读模式:show variables like ‘read_only‘;

只读模式需要修改my.cnf文件,注释read-only=1并重启mysql服务。

或者不重启使用命令关闭只读,但下次重启后失效:set global read_only=off;

查看show slave status \G;

查看show master status \G;

将从库IP地址改为主库IP地址,测试应用连接是否正常。

 

 

<完>

 

以上是关于mysql主从架构-主从正常切换,主库宕机切换。的主要内容,如果未能解决你的问题,请参考以下文章

MYSQL主从同步搭建

6-MYSQL主从同步(DBA)配置

mysql主从切换

真实案例:主备切换数据不一致分析

MySQL主从切换

Redis 高可用篇:你管这叫 Sentinel 哨兵集群原理