首页/数据/数据库速查/GTID 配置(gtid_mode 渐进切换)
本包目录(495 条)
MySQL 基础与连接36 条SQL 语法52 条用户与权限21 条备份与恢复56 条
主从复制与高可用53 条
性能与调优57 条Redis 命令96 条Redis 运维与场景124 条

GTID 配置(gtid_mode 渐进切换)

开启 GTID 不能一步到位:按 OFF → OFF_PERMISSIVE → ON_PERMISSIVE → ON 四步逐级切换,每步确认复制与业务无异常;同时强制 enforce_gtid_consistency=ON。

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

渐进切换(每个实例依序执行)

渐进切换(每个实例依序执行)
SET @@GLOBAL.enforce_gtid_consistency = WARN;  -- 先告警观察
SET @@GLOBAL.enforce_gtid_consistency = ON;
SET @@GLOBAL.gtid_mode = OFF_PERMISSIVE;
SET @@GLOBAL.gtid_mode = ON_PERMISSIVE;
-- 等待所有从库 OFF_PERMISSIVE 无匿名事务后:
SET @@GLOBAL.gtid_mode = ON;
-- 写进 my.cnf 固化
顺序先 consistency 后 mode;mode 四级渐进
匿名事务切换前必须消化完(GTID 无法承载匿名事务)
固化改 my.cnf 防止重启回退
拓扑内所有节点(含 MHA/中间件)都要支持 GTID 再全量开启。

易错点

  • 跳步切换(OFF 直接 ON):报错且可能中断复制
  • 只改运行时变量没改配置文件:实例重启后 GTID 关闭,复制直接崩

数据来源与参考

  • MySQL 8.0 Reference Manual: Setting Up Replication Using GTIDs

相关工具

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