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

[ACDU翻译] MySQL 17.1.4.4 验证匿名交易的复制

原创 由迪 2022-08-17
594

本节说明如何监控复制拓扑并验证所有匿名事务是否已被复制。这在在线更改复制模式时很有帮助,因为您可以验证更改为 GTID 事务是安全的。

有几种可能的方式来等待事务复制:

最简单的方法,不管您的拓扑如何,但依赖于时间,如下所示:如果您确定副本永远不会滞后超过 N 秒,只需等待超过 N 秒。或者等待一天,或者您认为对您的部署安全的任何时间段。

一种更安全的方法,因为它不依赖于时间:如果您只有一个具有一个或多个副本的源,请执行以下操作:

  1. 在源上,执行:

    SHOW MASTER STATUS;
    复制

    记下FilePosition列中的值。

  2. 在每个副本上,使用源中的文件和位置信息来执行:

    SELECT MASTER_POS_WAIT(file, position); Or from MySQL 8.0.26: SELECT SOURCE_POS_WAIT(file, position);
    复制

如果您有一个源和多个级别的副本,或者换句话说,您有副本的副本,请在每个级别上重复步骤 2,从源开始,然后是所有直接副本,然后是所有副本的副本,依此类推。

如果您使用循环复制拓扑,其中多个服务器可能具有写入客户端,请为每个源副本连接执行步骤 2,直到完成整个循环。重复整个过程,这样你就完成了 两次完整的循环。

例如,假设您有三台服务器 A、B 和 C,以循环方式进行复制,以便 A -> B -> C -> A。那么过程是:

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

评论