mysqldump --set-gtid-purged=OFF参数
Posted 糖不吃~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysqldump --set-gtid-purged=OFF参数相关的知识,希望对你有一定的参考价值。
使用mysqldump导出数据的时候收到选项 set-gtid-purged=AUTO的影响和非GTID下导出不同。如果在GTID开启情况下使用如下语句导出数据:
mysqldump --single-transaction --master-data=2 -R -E --triggers --all-databases
在GTID开启的情况下会多如下设置:
set @@MYSQLDUMP_TEMP_LOG_BIN = @@SESSION.SQL_LOG_BIN;
SET @@SESSION.SQL_LOG_BIN=0;
--
--GTID state at the beginning of the backup
--
set @@GLOBAL.GTID_PURGED=‘b660b07e-7d26-11e9-92f1-005056ae9ab5:1-226‘;
设置原因:
因为如果我们使用这个备份做主从,是否生成binary log Event就意味着在导入数据的时候是否基于本地数据库生成新的GTID,如果生成了本地GTID显然是不对的,所以将SQL_LOG_BIN设置为0是必须的。
接着需要进行gtid_purged变量的设置,gtid_purged变量的设置会修改下面几个地方:
1.mysql.gtid_executed表
2.gtid_purged变量
3.gtid_executed变量
当然也可以使用 --set-gtid-purged=OFF 选项来告诉mysqldump我不需要设置SQL_LOG_BIN = 0和gtid_purged变量,但是初始化搭建主从的时候一定不要设置为OFF。
--set-gtid-purged[=name]
Add ‘SET @@GLOBAL.GTID_PURGED‘ to the output. Possible
values for this option are ON, OFF and AUTO. If ON is
used and GTIDs are not enabled on the server, an error is
generated. If OFF is used, this option does nothing. If
AUTO is used and GTIDs are enabled on the server, ‘SET
@@GLOBAL.GTID_PURGED‘ is added to the output. If GTIDs
are disabled, AUTO does nothing. If no value is supplied
then the default (AUTO) value will be considered.
以上是关于mysqldump --set-gtid-purged=OFF参数的主要内容,如果未能解决你的问题,请参考以下文章