首页 > 代码库 > 数据库开启gtid时,需要注意的问题

数据库开启gtid时,需要注意的问题

1、slave不能执行任何sql,包括超级用户
2、read_only=on,这个必须要开启,避免业务执行sql
3、保证当前slave的事务id为1


当slave同步出现问题时,手动跳过,需要考虑的问题
执行的sql,不能记录事务id,否则slave切换为master时,会导致从同步失败,因为binglog早已删除。
SET @MYSQLDUMP_TEMP_LOG_BIN = @@SESSION.SQL_LOG_BIN;
SET @@SESSION.SQL_LOG_BIN= 0;
此步执行具体的SQL
dml\ddl
SET @@SESSION.SQL_LOG_BIN = @MYSQLDUMP_TEMP_LOG_BIN;


查看当前数据的uuid
show GLOBAL VARIABLES like ‘server_uuid‘;

查看当前数据库的已执行过的事务
show master status;


手动设置事务id

SET @MYSQLDUMP_TEMP_LOG_BIN = @@SESSION.SQL_LOG_BIN;
SET @@SESSION.SQL_LOG_BIN= 0;
SET @@GLOBAL.GTID_PURGED=‘132028ab-abc5-11e6-b2f0-000c29a60c3d:1-45679‘;
SET @@SESSION.SQL_LOG_BIN = @MYSQLDUMP_TEMP_LOG_BIN;

数据库开启gtid时,需要注意的问题