暂无图片
关于–set-gtid-purged的疑问??
我来答
分享
暂无图片 匿名用户
关于–set-gtid-purged的疑问??

这个参数主要的作用是啥?


经常看到mysqldump 中有时候  –set-gtid-purged =on 参数,有时候加 –set-gtid-purged=off 


不理解其中的适用场景,麻烦通俗的方式,解释下

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
赵师的工作日

首先!用该参数,那么你一定开了gtid
然后该

set-gtid-purged=off:备份出的结果只包含数据内容。

set-gtid-purged=on:备份出的结果会多如下内容

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=/\*!80000 '+'\*/ '5029caee-6240-11ea-a39a-00163e0e18ce:1-40040175617,  
805c7edf-5cc6-11e8-860d-00163e1089b9:1-80692653,  
8cbe8fb4-8e2f-11ec-8d44-00163e16c857:1-8';
复制

场景一:
已经构建好了主从,此时从某个实例mysqldump数据导入到该主从中。

那么set-gtid-purged=off,因为你导入主从时主库必须记录日志,这样才能同步到下游的从库

场景二:
已经有一个主节点,想mysqldump全量后构建主从

那么set-gtid-purged=on,因为你新的从库必须知道目前全量的数据是在主库的哪个位置点(就是上面提到set @@xxx那些),这样才可以进行后续的增量同步

场景三:
两个不相关实例间同步,例如线上到测试,数据迁移等

set-gtid-purged=off,因为新来的数据和原来的实例没有任何关系,新库需要记录自己的日志。

暂无图片 评论
暂无图片 有用 3
打赏 0
回答交流
Markdown


请输入正文
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏