首页/数据/数据库速查/主从延迟的常见原因清单
本包目录(495 条)
MySQL 基础与连接36 条SQL 语法52 条用户与权限21 条备份与恢复56 条
主从复制与高可用53 条
性能与调优57 条Redis 命令96 条Redis 运维与场景124 条

主从延迟的常见原因清单

延迟排查按五层走:从库硬件(IO/CPU)、大事务、单线程重放 vs 并行、锁竞争(MDL/行锁)、网络与 relay 写入;ROW 格式下重放开销通常是主因。

数据库速查数据更新于 2026-10-12

原因分层

层典型症状处置方向
硬件从库 IO util 饱和升级盘/拆读写压力
大事务延迟阶梯式跳变后缓慢降业务拆批,SQL 限流
并行不足SQL 线程单核忙开启并行复制(WRITESET)
锁竞争applier 等行锁从库禁长查询、调隔离级别
网络/relayIO 位点不动或 relay 暴涨链路检查、relay 盘优化

快速分层判断

快速分层判断
SHOW REPLICA STATUS\G
-- 1) 看 lag 与 relay 增长
-- 2) 从库 top/iostat 看瓶颈
SELECT * FROM performance_schema.replication_applier_status_by_worker\G
ROW 重放需要按主键定位行:主库表无主键/无合适索引时从库执行代价极高,是隐性延迟源。

易错点

  • 无主键表:ROW 重放退化为全表扫描,延迟随时爆炸,先补主键
  • 从库跑长查询(只读分析):与 applier 抢锁,延迟随之而来

数据来源与参考

  • MySQL 8.0 Reference Manual: Replication Troubleshooting

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌