土法炼钢 · 系统与基础设施

【MySQL InnoDB 内核】主从切换与数据恢复:PITR 与 xtrabackup 边界

文章导航

分类入口
databasekernel
标签入口
#mysql#innodb#pitr#xtrabackup#backup#gtid#failover

目录

主从切换与数据恢复:PITR 与 xtrabackup 边界

误删表后的第一反应不应该是 RESET MASTERPITR 需要 全量备份点 + 连续 binlog;物理备份(Percona XtraBackup)捕获 InnoDB 页快照 + redo 位点,恢复后仍需 apply binlog 到目标时刻。GTID 环境下 failover 要遵守 executed gtid 集合单调性,否则从库拒绝启动。

版本 8.0.36;工具版本需与 Server 匹配(以官方文档为准)。


一、备份类型

方式 机制 优点 缺点
mysqldump 逻辑 SQL 简单、跨版本 大库慢、锁/一致性依赖选项
xtrabackup 物理页拷贝 + redo 热备、恢复快 工具链、版本耦合

XtraBackup 在备份结束记录 binlog 位点/GTID,恢复后 xtrabackup --prepare 应用 redo 到一致点。


二、PITR 流程

flowchart LR
  FULL[全量备份 T0] --> RESTORE[恢复到实例]
  BIN[binlog T0→T1] --> APPLY[mysqlbinlog / MTS]
  APPLY --> TARGET[目标时刻 T1]
# 示意命令,需本地验证环境与路径
# xtrabackup --backup --target-dir=/backup/full
# xtrabackup --prepare --target-dir=/backup/full
# mysqlbinlog --stop-datetime="2026-06-18 12:00:00" binlog.000010 | mysql

边界:未包含在 binlog 中的 DDL非 InnoDB 引擎主库已 PURGE 的 binlog 无法回到更早时刻。


三、GTID failover

提升从库为主后:

Orchestrator、MHA 等工具处理选举;内核机制仍是 第 13 篇


四、误操作 DROP 边界


五、关键要点

  1. 物理备份 + binlog 是 PITR 标准组合。
  2. GTID 约束拓扑拼接。
  3. RESET MASTER 有毁灭性,非日常操作。
  4. 恢复演练应按 RTO/RPO 定期做。

十、PG 对照

维度 MySQL PG
物理备份 XtraBackup(热拷页+redo) pg_basebackup
PITR binlog 逻辑事件 WAL archive + recovery_target
位点 GTID / file+pos LSN / timeline
提升从库 CHANGE MASTER / 自动 pg_ctl promote

PG 第 18 篇 timeline 与 MySQL GTID 集合类似,都用于 防止脑裂后错误拼接


上一篇性能调查方法论

下一篇配置陷阱

参考资料

源码(MySQL 8.0.36)

官方文档

相关文章

读完这篇,下一步读什么

优先读同系列或同问题的下一篇,把单篇消费变成主题集群。


By .