首页/数据/数据库速查/重建从库(损坏/漂移后的重挂)
本包目录(495 条)
MySQL 基础与连接36 条SQL 语法52 条用户与权限21 条备份与恢复56 条
主从复制与高可用53 条
性能与调优57 条Redis 命令96 条Redis 运维与场景124 条

重建从库(损坏/漂移后的重挂)

从库数据漂移或落后太多时,「重建」比重放更省心:用备份恢复数据 → 设置 GTID 起点 → AUTO_POSITION 重挂 → 校验追平。

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

重建流程(GTID 环境)

重建流程(GTID 环境)
-- 1) 从备份恢复(含 gtid 信息,见 xtrabackup 建从库条)
-- 2) 设置起点(空实例才可执行)
RESET MASTER;   -- 危险!仅新建/空实例
SET GLOBAL gtid_purged = '3a7f1e3b-...:1-5000000';
-- 3) 重挂
CHANGE REPLICATION SOURCE TO SOURCE_HOST='10.0.0.10', SOURCE_USER='repl',
  SOURCE_PASSWORD='***', SOURCE_AUTO_POSITION=1;
START REPLICA;
SHOW REPLICA STATUS\G
前提备份与位点信息齐全(xtrabackup_binlog_info 等)
校验Executed_Gtid_Set 达到源端集后开始对外服务
替代clone 插件一键重建(8.0.17+)
RESET MASTER + SET gtid_purged 组合仅用于没有业务数据依赖的空实例。

易错点

  • gtid_purged 设大了:从库「假装」已有这些事务,静默缺数据
  • 重建期间没停旧复制进程:新旧通道并存报错/重复写入 relay

数据来源与参考

  • MySQL 8.0 Reference Manual: Creating a Replica Using a Backup
  • MySQL 8.0 Reference Manual: GTID_PURGED

相关工具

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