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.
--set-gtid-purged=on/auto 此为默认参数,即使在命令中不写,依旧生效;
它的效果是在mysqldump输出的备份文件中生成 SET@@GLOBAL.GTID_PURGED语句;备份文件中的这条语句记录了GTID号。
应用场景——主从复制
如图所示,当需要构建主从的时候,主库上有许多数据需要先备份出来并恢复到从库上,以此来保持两个库没有差异,然后再去配置主从。这种场景下一定要用on——对于想要基于GTID实现主从复制的从库来说,从库是基于MASTER_AUTO_POSITION=1自动获取并应用GTID的。因此如果再主库导出的备份文件中没有GTID,那么从库无法自动获取并应用GTID。
设为--set-gtid-purged=OFF时,在mysqldump输出中不包含SET@@GLOBAL.GTID_PURGED语句;
应用场景——普通备份,避免幂等性
————————————————
转自
mysqldump --set-gtid-purged=OFF参数 - 糖不吃~ - 博客园
https://www.cnblogs.com/DBA-3306/p/12632978.html
版权声明:本文为CSDN博主「西泽Xiz」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/here_is_xiz/article/details/119876756
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2020-09-14 使用 febootstrap 制作自定义基础镜像【转】
2018-09-14 案例一(haproxy+keepalived高可用负载均衡系统)【转】
2018-09-14 HAProxy详解(三):基于虚拟主机的HAProxy负载均衡系统配置实例【转】
2018-09-14 HAProxy详解(二):HAProxy基础配置与应用实例
2018-09-14 HAProxy详解(一):HAProxy介绍【转】
2018-09-14 Python运维开发基础10-函数基础【转】
2018-09-14 Python运维开发基础09-函数基础【转】