我有 2 个 5.0 MySQL 服务器在 Master-Master 复制中运行,在刷新内存中数据表示之前,我想确保两个数据库具有完全相同的内容。为此,我目前正在使用以下逻辑
确保
Slave_IO_Running
&Slave_SQL_Running
在两边都设置为 yes一方面
show master status;
是检索当前主文件和位置的问题另一方面
show slave status;
,检索Master_Log_File
&的值Exec_Master_Log_Pos
然后我比较两侧的值,如果第二侧的值相等或更高,我返回复制已经发生。
我知道 master 后面的字段 seconds 可能是检查http://dev.mysql.com/doc/refman/5.5/en/show-slave-status.html的另一种方法,但它说在慢速网络上它可能不会准确地说。
我问的主要原因是因为我一直看到这样的情况,其中一个主人的位置可能是 35000 而在奴隶上它只是在 2000 并且没有发生任何事情,好像显示奴隶状态所基于的目录没有更新及时。
我开始按照 percona 的工具包理念设计一种涉及校验和的替代验证方法。
热烈欢迎任何想法和建议!
干杯,