- 深入理解MySQL主从原理
- 高鹏
- 266字
- 2021-04-16 16:29:22
1.4.2 mysqldump导出行为的改变
使用mysqldump导出数据时受到选项set-gtid-purged=AUTO的影响,和在非GITD模式下导出略有不同。假如我们在GTID开启的情况下使用如下语句导出数据:
![](https://epubservercos.yuewen.com/A01218/19823444008569806/epubprivate/OEBPS/Images/txt001_27.jpg?sign=1739581324-nskcONVdG810ZB7aZsyddVJNmgSJv0h4-0-446f4b02b7b6831d3683462734e82a02)
则会做如下设置:
![](https://epubservercos.yuewen.com/A01218/19823444008569806/epubprivate/OEBPS/Images/txt001_28.jpg?sign=1739581324-p0Lz9xCwBiqTvd6hU6jz94aWER6kYrD0-0-67a238714e1b841346ea0fbcc41a8e9a)
为什么要这么设置呢?因为如果使用这个备份做主从,是否生成binary log Event就意味着在导入数据的时候是否基于本地数据库生成新的GTID,如果生成了本地GTID显然是不对的,所以将参数SQL_LOG_BIN设置为0是必须的。
接着需要进行 gtid_purged 变量的设置,1.2节已经说过,设置gtid_purged变量会修改mysql.gtid_executed表、gtid_purge变量和gtid_executed变量。
当然也可以使用--set-gtid-purged=OFF选项来告诉mysqldump不需要设置参数SQL_LOG_BIN= 0和gtid_purged变量,但是初始化搭建主从的时候一定不要将其设置为OFF。下面是这个选项的具体输出,供参考。
![](https://epubservercos.yuewen.com/A01218/19823444008569806/epubprivate/OEBPS/Images/txt001_29.jpg?sign=1739581324-g2icfBmyibOOh9T5G6r2tItaTGMGkmrr-0-09552e9a1a6ba6247bb1fe166fc3bf40)