![深入理解MySQL主从原理](https://wfqqreader-1252317822.image.myqcloud.com/cover/513/37423513/b_37423513.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.4.2 mysqldump导出行为的改变
使用mysqldump导出数据时受到选项set-gtid-purged=AUTO的影响,和在非GITD模式下导出略有不同。假如我们在GTID开启的情况下使用如下语句导出数据:
![](https://epubservercos.yuewen.com/A01218/19823444008569806/epubprivate/OEBPS/Images/txt001_27.jpg?sign=1739280525-jM7r4HhoIMFqwA8O0wzi0lpemCEY1EVD-0-f38c4c14986977486d2a2d452d05f973)
则会做如下设置:
![](https://epubservercos.yuewen.com/A01218/19823444008569806/epubprivate/OEBPS/Images/txt001_28.jpg?sign=1739280525-DETZAaYsBpcEGhgPBGNLeY5hzZimKl5x-0-c7e1da25f9acfa628f7f7923125f1e0f)
为什么要这么设置呢?因为如果使用这个备份做主从,是否生成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=1739280525-oGRbSOKUFIgsSqNLnEZoQBVanD46u9wt-0-74bd66fce199cf40b63a5cd38d99f0f3)