如果主设备的 GTID 与从设备的 GTID 不同,我怎么能惊慌失措?

Posted

技术标签:

【中文标题】如果主设备的 GTID 与从设备的 GTID 不同,我怎么能惊慌失措?【英文标题】:How can i get alarmed if the master's GTID differs from the slave? 【发布时间】:2021-11-03 13:12:18 【问题描述】:

MaxScale 将请求分发到 MariaDB 数据库 -> 数据库所在的主/从服务器。 我需要的是一个以 cron 或类似的方式运行的脚本,它可以验证来自主服务器和从服务器的 GTID。如果从属 GTID 与主 GTID 不同,我想通过电子邮件收到通知/警报。 不幸的是,我不知道这是否可能以及如何做到这一点

【问题讨论】:

【参考方案1】:

如果来自同一域的 GTID 与 binlog 中已有的内容冲突,您可以启用 gtid_strict_mode 自动停止复制。如果您使用 MaxScale,它会自动检测并停止使用。

请注意,这不会阻止来自其他 GTID 域的事务导致您的数据出现问题。这只是意味着如果您使用多域复制,则必须注意。

如果您想收到此通知,您可以使用 MaxScale 中的 script 选项触发自定义脚本,以便在服务器停止复制时启动。

【讨论】:

以上是关于如果主设备的 GTID 与从设备的 GTID 不同,我怎么能惊慌失措?的主要内容,如果未能解决你的问题,请参考以下文章

mysqldump --set-gtid-purged=OFF参数

MySQL GTID复制报错跳过方法

MySQL GTID复制报错跳过方法

MySQL体验gtid复制过程

MySQL体验gtid复制过程

MHA集群(gtid复制)和vip漂移