(1)主库/从库执行
set @@GLOBAL.ENFORCE_GTID_CONSISTENCY = WARN;
(2)主库/从库执行
set @@GLOBAL.ENFORCE_GTID_CONSISTENCY = ON;
(3)主库/从库执行
set @@GLOBAL.MODE = OFF_PERMISSIVE;
(4)主库/从库执行
set @@GLOBAL.MODE = ON_PERMISSIVE;
(5)主库/从库执行
show global status like 'ONGOING_ANONYMOUS_TRANSACTION_COUNT';
确认已经没有匿名事务。
多观察一段时间,确认这个统计值为0,如果不为0,强行修改则可能导致数据丢失,然后确认从库Retrieved_Gtid_Set、Executed_Gtid_Set正常增长。
到了这一步,实际上GTID已经开始使用了。
(6)主库/从库执行
set @@GLOBAL.GTID_MODE =ON;
(7)从库执行
stop slave;
CHANGE MASTER TO MASTER_AUTO_POSITION=1;
start slave ;
(8)主库/从库执行
修改配置文件
注意:
ONGOING_ANONYMOUS_TRANSACTION_COUNT统计值实际上就是没有提交完成的匿名事务的数量。
设置 MASTER TO MASTER_AUTO_POSITION=1会产生两个影响
(1)删除原来所有的relay log。重新接收需要的EVENT。
(2)只会接收主库相应的GTID EVENT 匿名事务的Event将不会接收。