我有2个5.0 MySQL服务器在Master-Master复制中运行,在刷新内存数据表示之前,我想确保两个数据库具有完全相同的内容。目前我正在使用以下逻辑
确保Slave_IO_Running
&amp; <{p>
Slave_SQL_Running
设为是
一方面问题show master status;
检索当前的主文件和位置
另一方面问show slave status;
以检索Master_Log_File
&amp;的价值。 Exec_Master_Log_Pos
然后我比较两边的值,如果第二边值相等或更高,我返回复制已经发生。
我知道master后面的字段可能是检查http://dev.mysql.com/doc/refman/5.5/en/show-slave-status.html的另一种方式,但它说在慢速网络上它可能不准确。
我要问的主要原因是因为我一直在看到一个主人的位置可能是35000并且在奴隶上只有2000的情况,并且没有任何事情发生,好像显示从属状态所基于的目录没有及时更新。
我开始根据percona的工具包理念设计一个包含校验和的替代验证方法。
热烈欢迎任何想法和建议!
干杯,
答案 0 :(得分:0)
而不是Seconds_Behind_Master
我使用Percona Toolkit中的pt-heartbeat来监控复制延迟。您可以使用该工具确认您的辅助母版是否已接近主版主,但如果您想比较两个母版的实际数据,我建议pt-table-checksum。