slave_exec_mode参数对主从复制的影响

Posted Davygeek

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了slave_exec_mode参数对主从复制的影响相关的知识,希望对你有一定的参考价值。

主从复制中常会遇到的问题就是1062主键重复、1032 slave上相关记录没找到

如果在读写分离的架构中,slave同步失败会对业务造成很大的影响的(比如主写入了一条数据,从上无法读取到这样对业务影响很大)

主从同步主要涉及一个参数: slave_exec_mode

set global slave_exec_mode=IDEMPOTENT;  //幂等模式
set global slave_exec_mode=STRICT;  //严格模式

 

slave_exec_mode参数可用来自动处理同步复制错误:

 

场景1: 

# slave上执行
> set global slave_exec_mode=IDEMPOTENT;  幂等模式 (默认是STRICT严格模式)
> stop slave;
> start slave;

slave_exec_mode 主要是控制mysql 主从复制中 insert 出现 duplicate-key, update 出现 no-key-found  情况下的处理方式做控制。

 

#idempotent(幂等) 模式影响:
 主机      备机
insert     duplicate-key  slave 执行的是replace into 
update  no-key-found   slave 不做任何处理


场景2:

#在slave上执行
stop slave;
set global slave_exec_mode=strict
start slave;

 

#stric(严格) 模式影响
 主机      备机
insert    duplicate-key   slave  报duplicate-key errors
update  no-key-found   slave 报no-key-found  error

以上是关于slave_exec_mode参数对主从复制的影响的主要内容,如果未能解决你的问题,请参考以下文章

MySQL复制利用slave_exec_mode处理复制过程中出现的1062与1032错误

MySQL slave_exec_mode参数的作用

MySQL二进制日志格式对复制的影响

mysql主从复制

mysql 主从复制原理

复制错误处理——sql_slave_skip_counter