10bet网址
MySQL复制
相关的文档10bet官方网站 下载此节选

2.4.4验证匿名事务复制

本节解释如何监视复制拓扑并验证所有匿名事务都已复制。这在在线更改复制模式时非常有用,因为您可以验证更改为GTID事务是安全的。

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

最简单的方法,不管你的拓扑如何,但依赖于时间:如果你确定副本的延迟永远不会超过N秒,那就等待稍微超过N秒。或者等待一天,或者任何您认为对部署安全的时间段。

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

  1. 在源代码上执行:

    显示主状态;

    的值进行记录文件而且位置列。

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

    SELECT MASTER_POS_WAIT(文件,位置);从MySQL 8.0.26: SELECT SOURCE_POS_WAIT(文件,位置);

如果您有一个源和多个级别的副本,或者换句话说,您有副本的副本,那么在每个级别上重复步骤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。