本站所有文章均为原创,如对您有帮助,恳请帮忙点击任何一处广告
  • 首页
  • MySQL
  • 【MySQL运维】主从故障处理思路

【MySQL运维】主从故障处理思路

发布:TangLu2020-2-18 15:06分类: MySQL 标签: mysql

模拟故障背景

从库没有配置super_read_only=1,管理员操作失误,在从库新增了数据,然后主从再去新增数据就导致主从状态错误。


解决方法1:

1、在从库查看读取到主库日志位置以及从库应用到了哪个位置

mysql > show slave status \G ;  #查看Read_Master_Log_Pos的值与主库是否一致,查看Exec_Master_Log_Pos应用到的位置;查看Last_Error中提示的二进制文件以及end_lod_pos的位置,这里假设为1973;关注Last_Errno所给出的错误代码号,这里假设为1396

2、根据Last_Error中提示的二进制文件以及end_lod_pos的位置可以找到是什么动作产生的错误。

show binlog events in 'linuxe-binlog.000003'  #找到1973对应的行,该行中Info信息就是1973位置所做操作


3、根据Last_Errno中提示的错误代码号,到MySQL自带的数据库中查询,也可以确定是创建用户的语句产生了问题

select * from performance_schema.replication_applier_status_by_worker where LAST_ERROR_NUMBER=1396


4、知道是什么语句导致错误后,只需要在从库删除这些数据即可

mysql > stop slave
mysql > start slave



解决方法2:

1、安装percona工具

yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
yum install percona-toolkit


2、使用pt-slave-restart忽略错误

mysql > stop slave
pt-slave-restart -uroot -p123456 --error-numbers=1396  #忽略该报错
mysql > start slave


温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!
et_highlighter51
版权所有:《Linux运维技术学习站点
文章标题:《【MySQL运维】主从故障处理思路
除非注明,文章均为 《Linux运维技术学习站点》 原创
转载请注明本文短网址:http://www.linuxe.cn/post-564.html  [生成短网址]

已有 0/380 人参与

发表评论:

欢迎分享Linux运维技术学习站点

欢迎使用手机扫描访问本站,还可以关注微信哦~