首页 游戏 软件 资讯 排行榜 专题
首页
科技数码
MySQL主从中断常见原因解析与排查方案

MySQL主从中断常见原因解析与排查方案

热心网友
81
转载
2026-01-29

当一个异常庞大的事务(包含单个或多个数据包)的尺寸超过了特定参数的大小时,该事务会暂时被保留。直到所有工作线程都清空了待处理队列,系统才会开始处理这个大型事务。在此期间,后续所有事务都会被保存起来,直到那个庞大事务最终处理完毕。这个过程有可能导致主从复制链路出现延迟。

在生产环境中,为了确保数据库服务的高可用性,MySQL 通常会采用主从复制架构。常见的部署模式包括双向复制架构,或者是一主一从、一主多从的架构。

在主从复制架构的运行过程中,同样可能遭遇各种问题,例如复制同步中断。

本文旨在梳理常见的复制中断原因,并提供相应的解决方法。

1. 主键冲突

遇到主键冲突时,通常会看到类似下面的错误信息,错误代码为1062。

Could not execute Write_rows event on table xxx; Duplicate entry ‘xxx’ for key 'PRIMARY', Error_code: 1062; handler error HA_ERR_FOUND_DUPP_KEY......

对于主键冲突错误,一般的解决方法是直接在从库中找到并删除重复的记录即可。需要特别注意的是,删除前最好先备份数据,以备将来可能需要进行数据恢复。

2. 记录不存在

常见的“记录不存在”错误示例如下:

Could not execute Update_rows event on table xxx; Can't find record in ‘xxx’, Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND......

或是:

Could not execute Delete_rows event on table xxx; Can't find record in ‘xxx’, Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND......

对于1032错误,解决思路是依据报错信息,前往主库解析对应的binlog日志,找到那条具体的记录,然后手动插入到从库中。如果是在双向复制链路上操作,务必记得需要在会话级别临时关闭binlog写入,以避免操作形成循环。

无论是1062还是1032错误,大部分情况下都源自不规范的操作,例如人为直接在从库上进行了写入。因此,在生产环境中强烈建议将从库设置为只读模式。

3. 主库binlog丢失

主从同步错误码1236是我们所熟悉的,导致主库binlog不存在的报错原因可能包括:

从库未能及时同步主库的binlog,而主库的binlog由于时间过久已被自动清理。有人为在主库手动执行了purge binlog操作或直接删除了binlog文件。人为在主库误执行了reset master命令。请牢记,这是一项高风险操作。

报错信息如下:

Got fatal error 1236 from master when reading data from binary log...but the master has purged binary logs containing GTIDs that the slave requires

对于这种场景,通常只能选择对从库进行重建操作,没有其他捷径。

4. Relay Log损坏

中继日志(Relay Log)的损坏同样会导致主从同步中断,报错信息类似:

Last_SQL_Error:Error initializing relay log postion: I/O error reading the header from the binary logLast_SQL_Error:Error initializing relay log positon:Binlog has bad magic number:it’s not a binary log file that can be used by this version of MySQL.

从库服务器宕机、非法关机、电源故障、硬件故障等场景都有可能造成中继日志的损坏。

相应的解决方法是执行reset slave命令重置relay log。对于传统的基于位点的复制模式,需要依据Relay_Master_Log_File和Exec_Master_Log_Pos这两个变量的值来确定已经同步到的位置,并从这两个位置重新配置同步。

5. 参数问题

部分参数的配置不当也会导致同步中断,例如,可能看到如下报错:

Last_Error: Cannot schedule event Update_rows, relay-log name ...to Worker thread because its size 50450016 exceeds 16777216 of slave_pending_jobs_size_max

导致上述报错的原因是主从同步过程中,slave_pending_jobs_size_max参数的设置值过小。只需调大该参数即可,调整后需要重启复制进程。

slave_pending_jobs_size_max参数在MySQL 5.6版本后引入,默认单位是字节。如果未开启多线程复制,则此参数无效。其默认值为16MB,最大可设置为1GB。

需要注意的是,从库中此参数的值需要等于或大于主库的max_allowed_packet参数值,否则从库的工作队列可能会被填满。

另外,如果一个异常庞大的事件(包含一个或多个数据包)的大小超过了此参数的限制,该事件会被暂存,直到所有工作线程都有空余队列后才会进行处理。所有后续事件也会被保存,直到那个大事件完成。这可能会加剧主从链路的延迟。

来源:https://www.51cto.com/article/835227.html
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关攻略

MySQL索引优化实战:从原理到高效调优的完整指南
业界动态
MySQL索引优化实战:从原理到高效调优的完整指南

之前遇到一个典型的性能问题:一个订单查询接口,平均响应时间达到了3秒,P99响应时间甚至超过10秒。用户投诉不断,老板也天天催着解决。排查后发现,一张500万数据的订单表,查询条件是WHERE user_id = ? AND status = ? AND create_time > ?,但表上只有一

热心网友
05.21
MySQL主从复制异常排查与常见原因解析
业界动态
MySQL主从复制异常排查与常见原因解析

今天处理了一个典型的主从复制中断案例,SQL线程报错1032。遇到这种情况,先别急着跳过事务——这很可能是MySQL 8 0并行复制与无主键表共同埋下的一个“暗雷”。下面咱们就顺着这条线索,从Binlog机制到Hash冲突,把这个问题彻底讲清楚。 主从复制异常是运维和面试中的常客,而触发异常的场景五

热心网友
05.21
MySQL 8.0从库报错MY-010956原因分析与修复方法
业界动态
MySQL 8.0从库报错MY-010956原因分析与修复方法

在维护MySQL 8 0主从复制架构时,你是否也曾在从库的错误日志里,被两条反复横跳的警告信息刷屏?没错,就是那个“Invalid replication timestamps”和紧随其后的“returned to normal values”。这不仅仅是日志噪音,更是一个明确的信号:你的服务器时间

热心网友
05.21
MySQL长任务中nohup失效原因与终端关闭影响解析
业界动态
MySQL长任务中nohup失效原因与终端关闭影响解析

相信不少DBA同行都遇到过这种令人头疼的场景:一个预计耗时数小时的MySQL大表结构变更操作,你熟练地输入nohup mysql -e ALTER TABLE huge_table ENGINE=InnoDB; &,然后安心地关闭了终端窗口。然而几小时后回来检查,却发现任务早已无声无息地中止,日

热心网友
05.19
阿里面试题解析MySQL与ES数据同步四种方案详解
业界动态
阿里面试题解析MySQL与ES数据同步四种方案详解

今天,我们通过一个在线旅游平台酒店搜索的实战案例,深入解析MySQL数据同步到Elasticsearch的四种主流技术方案。透彻理解这些方案,无论是应对技术面试还是处理实际开发中的架构选型,都能让你游刃有余,有效规避常见的技术陷阱。 许多开发者都曾面临类似的困境:面试中被问到如何保障MySQL与ES

热心网友
05.18

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

英特尔Titan Lake处理器全系支持LPDDR6内存
业界动态
英特尔Titan Lake处理器全系支持LPDDR6内存

英特尔下一代TitanLake处理器全系支持LPDDR6内存。面向主流笔记本的U、P及高能效PX系列还将兼容LPDDR5X与DDR5,为设备设计提供灵活性。U、P、PX系列采用Intel18A工艺的新CPU模块,而B、BX系列沿用旧架构。高端PX系列集成GPU采用台积电N2P工艺,配备16个Xe核心,旨在提升图形性能。

热心网友
05.23
比特币巨鲸4.96亿美元空单引发市场对去中心化公信的深度讨论
web3.0
比特币巨鲸4.96亿美元空单引发市场对去中心化公信的深度讨论

一只鲸鱼做空比特币 4 96 亿美元,触发市场公信讨论 最近,链上数据捕捉到的一笔大额交易,瞬间吸引了所有市场参与者的目光:一只比特币巨鲸,悄然开立了价值近5亿美元的空单。这笔操作如同一块投入平静湖面的巨石,不仅激起了短线的价格波澜,更将市场深层的公信机制与交易透明度问题,再次推到了讨论的中心。 鲸

热心网友
05.23
四海兄弟故乡成就快速达成攻略
游戏攻略
四海兄弟故乡成就快速达成攻略

解锁《四海兄弟》“故乡没那么快”成就需耐心探索:深入隐秘角落,留意环境细节;积极与居民互动,收集对话线索;完成相关支线任务,关注伏笔;并注意特定时段触发的事件。成就进度可累积,坚持全面探索方能最终达成。

热心网友
05.23
鬼谷子最强出装推荐与实战打法攻略
游戏攻略
鬼谷子最强出装推荐与实战打法攻略

鬼谷子是战术型辅助,核心在于技能运用与合理出装。二技能是关键控制,配合大招的群体伪装可发起突袭。出装以冷却缩减和生存能力为主,如冷静之靴、极寒风暴和魔女斗篷。实战中需把握进场时机,从侧翼切入控制敌方核心,并注意与队友配合衔接伤害。

热心网友
05.23
AI音效生成工具OptimizerAI自动为视频添加背景音乐
AI教程
AI音效生成工具OptimizerAI自动为视频添加背景音乐

在游戏开发、动画制作、视频创作等数字内容领域,专业音效设计是提升作品沉浸感与专业度的关键。然而,传统音效制作流程往往依赖昂贵的专业设备与庞大的素材库,对独立开发者、小型团队及个人创作者构成了较高的技术门槛与成本压力。近期,一款名为OptimizerAI的人工智能音效生成平台备受关注,它致力于通过AI

热心网友
05.23