之前搭建了一主一备的MySQL,使用的是传统复制方式,现在希望将其改造为GTID复制方式。使用GTID方式必须设置GTID_MODE=ON,而GTID_MODE=ON与GTID_MODE=OFF之间是无法复制的,会报类似如下错误:
The slave IO thread stops because the master has @@GLOBAL.GTID_MODE OFF and this server has @@GLOBAL.GTID_MODE ON
所以,可行的一种方法是在主备库保证一致性的情况下,重启主库为GTID_MODE=ON,之后,重启备库为GTID_MODE=ON。然后,修改复制参数,设置MASTER_AUTO_POSITION = 1。