MySQL Error_code: 1032/1062

MySQL参数:slave_exec_mode

该参数与MySQL复制有关,它是一个动态修改的变量。默认为STRICT MODE(严格模式),可选值为IDEMPOTENT MODE(幂等模式)。
设置为IDEMPOTENT模式可以防止从库出现1032(从库上不存在的键)和1062(需要重复键、主键或唯一键)的错误。该模式只在ROW binlog模式下生效,在STATEMENT 模式的binlog模式中无效。

参数对比:
1.sql_slave_skip_counter = N
2.slave-skip-errors = 1032,1062
3.MySQL参数:slave_exec_mode = STRICT/IDEMPOTENT

set gobal sql_slave_skip_counter = N ,N 意味着跳过N个事务,一个事务中可能包含多个事件导致数据丢失

slave-skip-errors = 1032,1062 需要重启数据库,从节点会自动跳过整个事务并且不会记录任何错误

slave_exec_mode = IDEMPOTENT 会自动跳过错误的event而非整个事务,同时会记录自动跳过的event记录到mysql error log 中

注意:
设置slave_exec_mode = 'IDEMPOTENT' 模式无法解决DDL类型的错误,只能解决从节点上应用主节点binlog时的主键冲突或者无主键错误,只能在binlog_format为ROW的模式下使用,并且只能在1032和1062的幂等模式下使用。

posted @   __Yoon  阅读(316)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
历史上的今天:
2020-04-23 MySQL 抓包工具 mysql-sniffer
点击右上角即可分享
微信分享提示