当前位置:   article > 正文

mysqldump 中参数 --set-gtid-purged 控制 SET @@GLOBAL.GTID_PURGED和 SET @@SESSION.SQL_LOG_BIN_mysqldump set purse

mysqldump set purse

mysqldump --master-data=1 --single-transaction --databases test
没有加set-gtid-purged时出现警告提示:

scutech@scutech:/tmp$ mysqldump --master-data=1   --single-transaction  --databases test >aa.sql
Warning: A partial dump from a server that has GTIDs will by default include the GTIDs of all transactions, even those that changed suppressed parts of the database. If you don't want to restore GTIDs, pass --set-gtid-purged=OFF. To make a complete dump, pass --all-databases --triggers --routines --events. 
  • 1
  • 2

导出的文件中:

......
SET @@SESSION.SQL_LOG_BIN= 0;
SET @@GLOBAL.GTID_PURGED=/*!80000 '+'*/ '60a5b8ff-95c7-11ea-a28f-fa163e0ec694:1-4';
......
  • 1
  • 2
  • 3
  • 4

结合警告和导出文件可以解读为GLOBAL.GTID_PURGED设置为源库里面所有的GTID,也就是gtid_executed,即使是部分导出。SESSION.SQL_LOG_BIN= 0 就不写binlog,这样也不会传到备库。
这种情况等于设置–set-gtid-purged=on 和auto。on和auto的区别是当gtid没有激活时,on会报错,auto不会。
如果有–set-gtid-purged=off ,这两项消失。
在MySQL 5.6 和 5.7,可以替换gtid_purged ,在8里面是加到现有的gtid_purged后面。注意看前面的 /!80000 ‘+’/ 部分。

文章下方是我的微信,欢迎加我。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/989295

推荐阅读
相关标签