在gtid模式下,mysqldump默认会记录GTID_PURGED信息,还会输出以下信息
SET @MYSQLDUMP_TEMP_LOG_BIN= @@SESSION.SQL_LOG_BIN;
SET@@SESSION.SQL_LOG_BIN= 0;
导入时不写入binlog日志;
假如mysqldump时设置了--set-gtid-purged=OFF,则在备份文件中不会打印以上信息;
如果是master-slave(master)-slave的多级主从架构,则主master备份导入slave(master)时需设置--set-gtid-purged=OFF;
--------------------------------------------------------------------------------------------------------------------------
若是master-slave的简单主从,则默认mysqldump备份后带gtid导入slave,开启主从即可
--------------------------------------------------------------------------------------------------------------------------
mysqldump默认导出带gitd,不写binlog
mysqldump --set-gtid-purged=OFF 不带gid,写binlog,因不带gitd所以直接开启主从会报错binlog找不到(如果master binlog有自动清除),需reset master,或master停止业务后备份,slave手动设置
reset slave all;
reset master;
SET @MYSQLDUMP_TEMP_LOG_BIN = @@SESSION.SQL_LOG_BIN;
SET @@SESSION.SQL_LOG_BIN= 0;
SET @@GLOBAL.GTID_PURGED='master的gitd信息';
SET @@SESSION.SQL_LOG_BIN = @MYSQLDUMP_TEMP_LOG_BIN;
mysqldump -uroot -p密码 --set-gtid-purged=OFF --databases A > A.txt