mysql proxy master宕机_MYSQL主库master宕机解决方案原理

本文详细介绍了三种MySQL主库宕机情况下的处理方案:1) 主机宕机但SSH可连接,通过补全binlog并切换主库;2) 主机SSH不可连接,提升半同步从库为新主;3) 主库挂掉后人工选择从库晋升为主。每种情况都包括了详细的恢复步骤,确保数据一致性。
摘要由CSDN通过智能技术生成

第一种情况:主机宕机SSH正常连接binlog数据没丢,

提升S1为M1的操作

1.如果做了双主同步,直接切主库即可,啥都不用做

2.如果没有做双主

1.要把主库的binlog补全到所有的从库

2.调整配置文件,去掉read-only,授权用户权限检查,确认是否开启binlog,

3.删除master.info relay-log*

4.登陆数据库 stop slave; reset master;

5.所有从库stop slave io_therad; change master to master_host='10.10.10.190',master_user='repl',master_password='111111',master_log_file='mysql-bin.000005', master_log_pos=681;

如果

6.重启数据库,提升S1为M1完毕M1 S2 S3 S4 S5

第二种情况:主机宕机SSH连接不上,

1.半同步从库S1提升为M

1.把半同步数据补全所有从库 S2 S3 S4 S5

2.登陆数据库 stop slave; reset master;

3.删除master.info relay-log*

4.检查mysql授权表:web用户权限以及从库同步的权限

5.调整配置文件,去掉read-only,授权用户权限检查,确认是否开启binlog,

6.所有从库stop slave io_therad; change master to master_host='10.10.10.190',master_user='repl',master_password='111111',master_log_file='mysql-bin.000005', master_log_pos=681;

7.重启数据库,提升S1为M1完毕M1 S2 S3 S4 S5

2.S1什么都不干只做同步的从库

1.把S1数据补全所有从库 S2 S3 S4 S5

2.调整配置文件,去掉read-only,授权用户权限检查,确认是否开启binlog,

3.删除master.info relay-log*

4.登陆数据库 stop slave; reset master;

5.所有从库stop slave io_therad; change master to master_host='10.10.10.190',master_user='repl',master_password='111111',master_log_file='mysql-bin.000005', master_log_pos=681;

6.重启数据库,提升S1为M1完毕M1 S2 S3 S4 S5

3.M挂掉以后,从S中人工选一个(耽误事,容易造成数据不一致)

1.所有从库执行 show processlit;

确定IO线程 Slave has read all relay log

Reconnecting after a failed master event read # 主库挂掉的状态

Waiting for master to send event # 代表主库所有binlog都发送完毕

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

查看所有从库的master.info

[root@test01 /data/3307/data]# cat master.info

18

mysql-bin.000007

5843 # 从这里可以看到已经同步到的位置点,以及哪个是数据最全的从库

从而来确认,选择哪一个从库来作为新的M

2.把选中的S数据补全所有从库

3.调整配置文件,去掉read-only,授权用户权限检查,确认是否开启binlog,

4.删除master.info relay-log*

4.登陆数据库 stop slave; reset master;

6.所有从库stop slave io_therad; change master to master_host='10.10.10.190',master_user='repl',master_password='111111',master_log_file='mysql-bin.000005', master_log_pos=681;

7.重启数据库,提升S为M1完毕M1

8.通过replay日志补全所有其他从库和当前为主的数据库一直

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值