暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

mysqldump参数( set-gtid-purged=off)

原创 冯晓宇 2023-04-20
1469

适用范围

以mysqldump备份恢复至数据库实例,并搭建主从环境

问题概述

客户当前有两个mysql实例,一实例操作系统为CentOS,另一实例为麒麟,当前将已备份好的数据恢复至以构建好主从关系的节点中,但是主节点恢复数据后,发现从节点无法将主节点当前数据同步过来,客户怀疑是两节点系统差异导致

排查过程

(1)查看当前主从状态
image.png
主从状态正常,但从库没有test库

(2)查看客户导入文件过程
image.png
客户导入.sql文件时,出现过error报错

(3)备份文件查看
image.png
备份文件中显示 SOL_LOG_BIN=0,当sql_log_bin关闭后,主库服务器上的改动不记录bin log,不会复制到从库。

解决方案

mysqldump -uroot -p123  --single-transaction --set-gtid-purged=off  -B test >test.sql

set-gtid-purged 作用是在mysqldump输出的备份文件中生成 SET@@GLOBAL.GTID_PURGED语句;备份文件中的这条语句记录了GTID号。
当需要构建主从的时候,为保证主从两个库没有差异,这种场景下一定要用set-gtid-purged=on,对于想要基于GTID实现主从复制的从库来说,从库是基于MASTER_AUTO_POSITION=1自动获取并应用GTID的。因此如果再主库导出的备份文件中没有GTID,那么从库无法自动获取并应用GTID,从而造成主从数据不一致。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论