首页/数据/数据库速查/GTID 模式下的 PITR 注意点
备份与恢复56 条

GTID 模式下的 PITR 注意点

GTID 实例的 binlog 带 GTID_NEXT 事务头:整段重放用 gtid_executed 定位;重复重放要么跳过已执行 GTID,要么用 --skip-gtids 剥离后按位点重放。

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

GTID 定位与重放

GTID 定位与重放
SHOW GLOBAL VARIABLES LIKE 'gtid_executed';
SELECT @@GLOBAL.gtid_purged;
-- 目标块从某 GTID 开始(示例)
START REPLICA UNTIL SQL_BEFORE_GTIDS = '3a7f1e3b-...:4711';
定位gtid_executed / gtid_purged 与备份携带的 GTID 集对照
重放新实例直接执行带 GTID 头的 binlog;重复重放需剥离或跳过
坑点SET @@SESSION.GTID_NEXT 已由 binlog 设置,客户端不要预置
用 --skip-gtids 剥离 GTID 会让该实例的 gtid_executed 缺段,做主从或后续切换时可能踩坑。

易错点

  • 非空实例重放带 GTID 的 binlog:报已执行/冲突错误,先确认目标实例状态
  • 混用「位点重放」与「GTID 环境」时位点边界难对齐,统一用一种坐标系

数据来源与参考

  • MySQL 8.0 Reference Manual: GTID 与 PITR
  • MySQL 8.0 Reference Manual: START REPLICA UNTIL

相关工具

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