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

MySQL 复制原理(三线程模型)

主从复制由三类线程协作:主库 dump 线程持续推送 binlog,从库 IO 线程写入 relay log,SQL(applier)线程重放。理解线程职责是排查一切复制问题的起点。

数据库速查数据更新于 2026-10-12
主库线程Binlog Dump:从最后一个已知位点推送 binlog
从库线程IO 线程(拉取)与 SQL/applier 线程(重放)
8.0 术语MASTER/SLAVE 已更名为 SOURCE/REPLICA(8.0.22+)

查看三线程

查看三线程
-- 主库看 dump 线程
SHOW PROCESSLIST;
-- 从库看 IO/SQL 线程状态
SHOW REPLICA STATUS\G
IO 与 SQL 线程解耦设计:IO 线程断掉(网络问题)时 SQL 线程可继续消化积压的 relay log。

易错点

  • 只说「复制断了」无法定位:必须先区分 IO 线程断(网络/认证)还是 SQL 线程断(数据冲突)
  • 把 relay log 当临时文件随手清:清错会把未重放的数据一起清掉

数据来源与参考

  • MySQL 8.0 Reference Manual: Replication Implementation

相关工具

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