mysql里面Gtid table是什么?

mysql里面Gtid table是什么?,第1张

这个就是当前主库已经执行过的GTID,也就是dump.sql里面的数据已经包含的GTID,对于这些GTID,slave是不用执行了,所以我们需要设置slave从这些 GTID以后开始复制

GTID 对于单源复制还是很方便,但是对于多源复制,这里就需要特别注意:

要先停止所有的从库 stop slave

然后清理本机所有的 GTID,reset master

再进行 SET @@GLOBAL.GTID_PURGED='xxxxx' gtid 设置

这里就会引入一个问题,如果是级联复制的情况下,reset master 的时候,会把本机的所有 binlog 清理掉。如果下一级的从库存在延迟,没有及时的把 binlog 传过去,就会造成主从中断,这里我们该怎么避免呢?看这里:

做 reset master 的时候,先看看下游的从库是否存在很大的延迟。如果存在,把当前的 binlog 和后面未同步的 binlog 全部备份下;

待添加好从库的 channel 后,再把未同步的 binlog 文件手动拷贝到 binlog 目录;

更新下 mysql-bin.index 文件;

注意,binlog 不能同名,需要手动更新下文件。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8363262.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-15
下一篇2023-04-15

发表评论

登录后才能评论

评论列表(0条)

    保存