MySQL主从复制之GTID模式介绍

MySQL主从复制之GTID模式介绍,第1张

GTID同步在建立复制的时候,将传统复制由人为指定binlog的pos位点改为了 MASTER_AUTO_POSITION=1 自动获取binlog的pos位点。

Enjoy GreatSQL :)

开启步骤:

SET GLOBAL ENFORCE_GTID_CONSISTENCY='WARN'

SET GLOBAL ENFORCE_GTID_CONSISTENCY='ON'

SET GLOBAL GTID_MODE = 'OFF_PERMISSIVE'

SET GLOBAL GTID_MODE = 'ON_PERMISSIVE'

SET GLOBAL GTID_MODE = 'ON'

配置文件中GTID_MODE = ON

ENFORCE_GTID_CONSISTENCT

平滑关闭步骤:

(1):stop slave(如果是主库就不必执行此步骤)

(2):SET GLOBAL GTID_MODE = 'ON_PERMISSIVE'

(3):SET GLOBAL GTID_MODE = 'OFF_PERMISSIVE'

(4):SET GLOBAL GTID_MODE = 'OFF'

之后查看状态:

select @@GLOBAL.GTID_MODE

配置文件中GTID_MODE = OFF

关闭ENFORCE_GTID_CONSISTENCY:

在线修改 :SET @@GLOBAL.ENFORCE_GTID_CONSISTENCY = off

配置文件中 :ENFORCE_GTID_CONSISTENCY = off

传统主从复制的binlog和position号选择切换时间的第一个binlog的第一号

这是今天要到的一个问题,由朋友 杨长江 提交给我,版本5.7.17。如下:

已知的一个BUG是skip-slave-error参数设置问题,而且这个BUG再8.0.25依旧存在,参考如下:

而拿到朋友的参数文件后,发现并没有设置skip-slave-error参数,那么是其他什么BUG导致的呢?实际上这个BUG是5.7.23以下的版本,并且设置了replicate_wild_do_table等过滤规则会后对CREATE DATABASE/ALTER DATABASE/DROP DATABASE会过滤掉 *** 作,并且从库的GTID也会被抛弃掉,这样就产生了大量的空洞。

稍微浏览修改,如BUG描述增加对database *** 作的判定。

如果使用较老的版本应该注意这个奇特的问题。


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

原文地址: http://outofmemory.cn/zaji/8604511.html

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

发表评论

登录后才能评论

评论列表(0条)

保存