mysql 跳过同步错误sql_slave_skip_counter

最近MySQL 遇到了同步问题,现整理一下常遇到的错误应急的解决方法,备用。

下边是应急方法,不在乎数据一致性。数据一致性要求高的不要用。或者临时用,记录下发生错误的表,等到业务不高时在进行数据表校验修复(修复方式请参见最后链接地址)。






方法一:手动设置动态参数 sql_slave_skip_counter


我常用的脚本:

stop slave sql_thread;set global sql_slave_skip_counter=1;start slave sql_thread;

这个要 根据具体的错误来判定,一般用于主键冲突或者更新失败错误,进行手动跳过。




方法二:静态服务器设置,需要重启mysql
[mysqld]
slave_skip_errors=1032,1062
重启MySQL之后,会自动加载配置文件,同步自动跳过更新,与主键冲突错误。
参数说明:
Normally, replication stops when an error occurs on the slave.
This gives you the opportunity to resolve the inconsistency in the data manually.
This variable tells the slave SQL thread to continue replication when a statement returns any of the errors listed in the variable value.


方法三:动态设置跳过错误
slave_exec_mode
这个比较狠
set global slave_exec_mode =strict;
严格执行策略。大多数情况下遇到错误,同步就会终止。等待错误解决。

set global slave_exec_mode =idempotent;
这个设置,可以允许同步跳过
duplicate-key and no-key-found错误




四、如果数据缺失严重,而且数据量很少的情况下,直接重做主从。




对于数据一致性要求较高的场合:主要针对1032(从库数据缺失)和1062主键冲突的错误、1452外键问题。参见下面链接

参看网址:http://www.linuxidc.com/Linux/2017-02/141059.htm

http://mp.weixin.qq.com/s/nRHk_idbH2xZPXepRolW9Q





  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值