0

我有 2 个 5.0 MySQL 服务器在 Master-Master 复制中运行,在刷新内存中数据表示之前,我想确保两个数据库具有完全相同的内容。为此,我目前正在使用以下逻辑

  1. 确保Slave_IO_Running&Slave_SQL_Running在两边都设置为 yes

  2. 一方面show master status;是检索当前主文件和位置的问题

  3. 另一方面show slave status;,检索Master_Log_File&的值Exec_Master_Log_Pos

  4. 然后我比较两侧的值,如果第二侧的值相等或更高,我返回复制已经发生。

我知道 master 后面的字段 seconds 可能是检查http://dev.mysql.com/doc/refman/5.5/en/show-slave-status.html的另一种方法,但它说在慢速网络上它可能不会准确地说。

我问的主要原因是因为我一直看到这样的情况,其中一个主人的位置可能是 35000 而在奴隶上它只是在 2000 并且没有发生任何事情,好像显示奴隶状态所基于的目录没有更新及时。

我开始按照 percona 的工具包理念设计一种涉及校验和的替代验证方法。

热烈欢迎任何想法和建议!

干杯,

4

1 回答 1

0

Seconds_Behind_Master我没有使用Percona Toolkit 中的pt-heartbeat来监控复制延迟。您可以使用该工具来确认您的辅助 master 是否已赶上主要 master,但如果您想比较两个 master 上的实际数据,我建议您使用pt-table-checksum

于 2012-07-25T14:28:09.007 回答