通过slave_exec_mode=IDEMPOTENT跳过主从复制中的错误(1032 1062)

本文深入探讨了MySQL主从复制中IDEMPOTENT模式的应用,该模式下如何处理主键冲突和删除行不存在的错误,以及如何自动修复与主服务器的数据一致性。同时,文章强调了使用IDEMPOTENT模式时表必须有主键,并指出其对DDL操作和字段长度或类型不同的错误并不适用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过slave_exec_mode=IDEMPOTENT跳过主从复制中的错误

通过slave_exec_mode=IDEMPOTENT跳过主从复制中的错误

set global slave_exec_mode=IDEMPOTENT

slave_exec_mode 有两种模式

STRICT 模式不会自动跳过复制错误。

IDEMPOTENT 模式跳过主键冲突错误和删除行不存在错误。并自动修复和master数据一直。

1.insert 记录从库已存在

a:主键冲突。

此时insert into语句在备机的效果就跟replace into一样,但却并不是把insert into转换成replace into来执行,分两种情况:

delete from t1 …

insert into t1 set …

b: 非主键的唯一键冲突转化为update:

update t1 set …

2 update 场景

当备机不存在要更新的记录,这条update跳过不执行。

3 delete场景

同update场景一样,备机跳过此delete

注意: 使用冥等模式时表要有主键。不能对DDL操作冥等,对字段长度或类型不同导致的错误也不是冥等。

等复制追上之后:

set global slave_exec_mode=STRICT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值