MySQL mysqldump备份之--set-gtid-purged=OFF参数影响
背景描述:在生产环境中,我们经常会遇到这样的情况,在MySQL高可用架构或主从架构的数据库集群中进行逻辑备份(通过mysqldump工具备份的数据)还原的时候,会出现主从数据不一致,主从同步异常的情况。
根因分析:通过分析不难发现,主从同步异常的原因是进行数据还原的时候,主库没有记录binlog,导致从库无法复制新增的数据。(主从同步原理可参考文章:https://www.starcto.com/mysql/112.html)进一步排查MySQL主库不难发现,主库是开启了binlog记录的,如下图:
1、不带--set-gtid-purged=OFF参数备份
既然主库开启了binlog记录功能,但导入数据的时候,又没有binlog记录,那问题肯定是出在了备份文件上,于是我们就查看了备份文件。发现了下面截图的一条记录,即不记录binlog。此时用的备份命令:mysqldump --all-databases --master-data=2 --single-transaction --quick -R --events -uroot -h$IP -P3306 -p$password > backup.sql
2、带--set-gtid-purged=OFF参数备份
将备份命令调整为:mysqldump --all-databases --master-data=2 --single-transaction --set-gtid-purged=OFF --quick -R --events -uroot -h$IP -P3306 -p$password > backup1.sql
由上图可见,mysqldump备份时,加上--set-gtid-purged=OFF参数后,会去掉逻辑备份中,不记录binlog的设置。
3、MySQL官网参数解读
https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html#option_mysqldump_master-data
作者:UStarGao
链接:https://www.starcto.com/mysql/320.html
来源:STARCTO
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
UCloud云平台推荐
随便看看
- 2021-06-21MySQL字符集变量介绍
- 2021-06-11Linux常用命令工具集合
- 2021-07-21MySQL Binlog日志解析方法
- 2022-05-11MongoDB优雅查询文档记录.pretty()用法
- 2022-05-27MongoDB慢查询日志之Profiling配置