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

通过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

你可能感兴趣的:(mysql)