mysql 模式转化:gtid与传统复制模式相互转换

--mysql gtid模式转化为传统复制模式

业务上需要用到 create table as select时候gtid不支持

1.停止从库
主从延时要停止
1、stop slave

2、
CHANGE MASTER TO MASTER_AUTO_POSITION =0,MASTER_HOST='master2.example.com',
MASTER_USER='replication',
MASTER_PASSWORD='password',
MASTER_PORT=3306,
MASTER_LOG_FILE='master2-bin.001',
MASTER_LOG_POS=4;;

3、start slave
show slave status\G

4、在主从库把gtid-mode改成off
具体步骤
主从两边都设置set global set gtid_mode=ON_PERMISSIVE;
主从两边都设置gtid_mode=off_PERMISSIVE;
主从两边都设置gtid_mode=off;
主从两边都设置enforce_gtid_consistency=off;

5.观察show slave status\G gtid 事务号是否有变化没有变化证明修改成功

========================================================

--mysql 主从传统模式转换成gtid模式

业务希望在主备切换时候可以自动完成

1.修改参数
主从两边都设置set global set  enforce_gtid_consistency=warn;
去错误日志查看错误信息tail -100f error.log
如何错误日志没有告警
主从两边都设置set global set  enforce_gtid_consistency=on;
主从两边都设置gtid_mode=off_PERMISSIVE;
主从两边都设置set global set gtid_mode=ON_PERMISSIVE;

2.开启
show global status like '%going%';

检查在从库上有没有等待还没完成的事务,
如果没有等待事务
主从两边都设置set global set gtid_mode=ON;

3.开始修改autopostion
CHANGE MASTER TO MASTER_AUTO_POSITION =1;

4.开启从库
start slave;

然后自行测试是否成功

你可能感兴趣的:(mysql,dba,数据库)