- ① 旧主 SET read_only=ON + 业务侧停写(或挂维护页)
- ② 旧主记录最终 GTID:SELECT @@GLOBAL.gtid_executed
- ③ 从库等待追平:确认 Executed_Gtid_Set ⊇ 旧主最终集
- ④ 从库取消只读并 STOP REPLICA; RESET REPLICA ALL; 应用切连接
- ⑤ 旧主作为新从库重新挂载(见重建从库条)
关键操作
关键操作
-- 旧主(第 1 步)
SET GLOBAL read_only = ON;
SELECT @@GLOBAL.gtid_executed; -- 记为 final_set
-- 从库(第 3 步,等待追平)
SELECT WAIT_FOR_EXECUTED_GTID_SET('final_set', 60);
-- 从库(第 4 步,提升)
STOP REPLICA;
RESET REPLICA ALL;
SET GLOBAL super_read_only = OFF;
SET GLOBAL read_only = OFF;切换窗口内「谁能写」必须唯一:应用连接串/代理层要同步切换,避免双写。