您现在的位置是:亿华云 > 应用开发
故障案例:MySQL唯一索引有重复值,官方却说This is not a bug
亿华云2025-10-09 15:11:42【应用开发】3人已围观
简介一、问题:MySQL5.7.38主从架构,主节点唯一索引上唯一索引不是主键)有重复值,全部从节点报1062,SQL线程状态异常,根据SQL线程报的binlog位置点,insert 数据时有重复值,插入
一、故障官方问题:
MySQL5.7.38主从架构,案例主节点唯一索引上(唯一索引不是索引主键)有重复值,全部从节点报1062,有重SQL线程状态异常,复值根据SQL线程报的却说binlog位置点,insert 数据时有重复值,故障官方插入失败
二、案例原因:
unique_checks=0时导致,索引在bug(106121)列表中官方解释的有重原因:该参数关闭,维护唯一索引时,复值不会进行物理读,却说只会进行内存读,故障官方来确保唯一索引的服务器租用案例唯一性,即如果内存中有冲突数据就报1062,索引如果内存中没有冲突数据插入成功,不会进行io来将唯一索引相关的数据页拉取到内存。
官方的回复“IMHO this is not a bug”,我理解的意思“不要你觉得,我要我觉得,我就是这么玩的”。
三、故障解决方案:
1.临时解决方案
在从节点开启会话
set sql_log_bin=0
删除表的唯一索引
重新启动复制线程
缺点是亿华云计算:不能够解决数据重复的问题,切换主从后会面临更多重复数据的问题,如果从节点接收查请求且使用到了原唯一索引的字段,那sql效率会严重下降,但是可以解决主从复制停止的问题
2.永久解决方案
业务自己去重,不要插入重复数据参数unique_checks保持为1关于重复的业务数据:与业务交流,确定重复数据的处理方式四、复现步骤:
1. 表结构:
mysql> create database wl;
mysql> show create table wl.lgf\G
很赞哦!(2)
上一篇: 四、一定要仔细阅读细节
下一篇: 4、说起来容易
相关文章
- 旧域名的外链是否会对新建站点产生影响?
- 华为正式官宣!首批鸿蒙系统正式版升级大名单出炉:这些用户有福了
- 一篇学好如何实现 Trie
- 5月份Github上热门的JavaScript开源项目
- 2、根据用户基础选择访问提供程序。由于互联问题的存在,接入商的选择也非常重要,如果用户群主要在联通,尽量选择联通接入较好的接入商,如果用户群主要在电信,那么选择电信接入较好的接入商。如果用户组位于国家/地区,则选择更好的访问提供程序进行交互。
- 浅谈Java中重写和重载的区别
- 项目实践 - Axios进阶封装
- 聊聊SR的图灵完备性
- 6、提示添加成功,点击确认进行最后的确定操作。一般10分钟就解析生效,可以用域名进行访问了。
- 通过Python实现导弹自动追踪