MySQL主从复制故障案例二

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL主从复制故障案例二相关的知识,希望对你有一定的参考价值。


案例二: 


一主多从的架构下,主库master宕机

解决思路:


1,登录从库 

show processlist;

查看两个线程的更新状态

技术分享

结果说明:

之前主从同步正常


分别登录其余2个从库32,33查看:

cat   /data/3306/data/master.info
cat   /data/3307/data/master.info


比较,那个POS最大,说明更接近主库,那么我们就选举此slave作为新的master。

或者利用半同步技术,直接选举实时同步了的这个库为新的master


如果,master down掉,此时master还在有写入,我们需要将master的binlog拉到新选中的slave,

进行数据补全,在把其他slave执行新选中的master,使其继续同步。

 


切换步骤以及注意事项:


1,确保所有的relay_log 全部更新完毕

在每个从库执行

stop slave io_thread;
show processlist;
直达看到Has read all relay log; 表示从库更新都执行完毕;


2,登录

新选举的master(也就是旧的一个slave),执行以下命令

stop slave;
reset master;
quit;


3,进入新选举的slave数据目录,删除master.info relay-log.info ,防止继续从旧的master读数据

cd   /data/3306/data
rm -rf  master.info relay-log.info

检查授权表,read-only 等参数,需要删除



4,提升次新选举的从库为主库

vim  /data/3306/my.cnf

开启binlog:

log-bin = mysql-bin
如果存在以下参数,一定要删除
log-slave-updates
read-only
--replication-do-db     
--replication-ignore-db  
--replication-do-table    
--replication-ignore-table 
--replication-wild-do-table  
--replication-wild-ignore-table

重启服务、提升主库完毕


5,如果主库服务器没宕,需要去主库拉去binlog,补全主库的从库



6,其他从库操作

检查(同步user,rep均存在,意思就是保证其他slave有权限连接新的master)

登录slave:

stop slave
change master to master_host=‘new_master_ip‘;如果不同步,就指定POS
start slave;
show slave status\G;


++++++++++++主库宕机切换成功


7,修改程序配置文件,将之前的masterIP更换为新的masterIP

   重启服务




本文出自 “crazy_sir” 博客,请务必保留此出处http://douya.blog.51cto.com/6173221/1795367

以上是关于MySQL主从复制故障案例二的主要内容,如果未能解决你的问题,请参考以下文章

MySQL主从延迟复制实践及生产故障案例恢复实践

转发常见一主从复制案例

企业案例 故障修复mysql主从故障解决过程

MySQL5.7主从同步案例

Mysql -- 主从复制(主从同步)

mysql主从复制-读写分离