MySQL幂等复制

文章目录

    • 一、什么是幂等复制
    • 二、幂等复制的限制

一、什么是幂等复制

  MySQL在非NDB引擎下,slave_exec_mode默认为STRICT(严格模式),在严格模式下,从库复制过程中,发现数据冲突,会立即报错,并中断复制线程。
  而将该参数设置为IDEMPOTENT(幂等模式),遇到主键或唯一键冲突以及主键不存在时(,并不会报错,会直接覆盖数据或者忽略数据不存在,并且不影响同一个事务中正常的数据执行。如果是多个SQL组成的事务,则可以跳过有问题的event,主从复制仍然正常进行。设置这个参数将会立即生效,并不需要重启复制。

二、幂等复制的限制

slave_exec_mode='IDEMPOTENT’不能对DDL操作幂等,并且也不能对字段长度不同导致的错误进行幂等,并且只能在binlog_format为ROW的模式下使用,而且只能对1032和1062进行幂等模式。
  对于NDB以外的存储引擎,只有在绝对确定可以安全地忽略重复主键错误和未找到主键错误时,才应使用幂等模式。它用于NDB集群的故障转移场景,其中使用了多源复制或循环复制,不建议在其他情况下使用。

你可能感兴趣的:(MySQL)