MySQL幂等复制
Posted _雪辉_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL幂等复制相关的知识,希望对你有一定的参考价值。
一、什么是幂等复制
mysql在非NDB引擎下,slave_exec_mode默认为STRICT
(严格模式),在严格模式下,从库复制过程中,发现数据冲突,会立即报错,并中断复制线程。
而将该参数设置为IDEMPOTENT(幂等模式),遇到主键或唯一键冲突以及主键不存在时(,并不会报错,会直接覆盖数据或者忽略数据不存在,并且不影响同一个事务中正常的数据执行。如果是多个SQL组成的事务,则可以跳过有问题的event,主从复制仍然正常进行。设置这个参数将会立即生效,并不需要重启复制。
二、幂等复制的限制
slave_exec_mode='IDEMPOTENT’不能对DDL操作幂等,并且也不能对字段长度不同导致的错误进行幂等,并且只能在binlog_format为ROW的模式下使用,而且只能对1032和1062进行幂等模式。
对于NDB以外的存储引擎,只有在绝对确定可以安全地忽略重复主键错误和未找到主键错误时,才应使用幂等模式。它用于NDB集群的故障转移场景,其中使用了多源复制或循环复制,不建议在其他情况下使用。
以上是关于MySQL幂等复制的主要内容,如果未能解决你的问题,请参考以下文章