我有两台服务器作为主服务器和另一台服务器运行。我想查看天气,两张表都有相同的数据。我如何检查并确认这一点?该表有超过2300万行。
同样作为第一步,我试图跑
CHECKSUM TABLE tbl;
但是我在60秒后收到此错误:
ERROR 2013 (HY000): Lost connection to MySQL server during query
请建议。
答案 0 :(得分:2)
您还可以使用mk-table-checksum
,它是Maatkit实用程序的一部分。
答案 1 :(得分:1)
如果您的表被设置为主服务器和从服务器,那么您不必进行此检查。两者之间的二进制同步可确保它们完全相同。不是吗?
如果你使用的是最新版本的mysql,你还应该看一下表格分区:http://dev.mysql.com/doc/refman/5.1/en/partitioning.html这会加快像校验和这样的大量访问。
答案 2 :(得分:0)
我不知道它是否100%可能实现你想要实现的目标,但至少有一种验证复制状态的方法是实现某种简单的心跳机制,如书中所述{{3} }。
该方法适用于插入表中的时间戳,每20秒验证一次。结合SHOW SLAVE STATUS \G
返回的状态报告,您可以获得有关当前状态的准确统计信息。
您可以看到主服务器后面有多少语句,或者复制错误。如果没有错误或待处理的陈述,你应该很好地假设在时间t你的表是同步的。