我有两个数据库服务器,它们是在主到主复制过程中复制的。由于某些原因,复制被停止。现在我要比较同一个数据库,例如在两个服务器上的数据一致性。但问题是数据库有一个非常大的表。这个表有六千万行。mysql的数据大小大约是10gb。我尝试过使用mysql实用程序的mysqldbcompare命令。这个工具在低数据量下工作得很好。但在这种情况下,一小时后连接最终会被mysql实用程序中断。
有人能帮我解决这个问题吗?有没有人分析过大量的mysql数据,有没有经验?
请告诉我最好的开始方式。我应该使用什么工具以及如何使用这些工具,因为我需要在很少的时间内完成这项工作。
1条答案
按热度按时间6l7fqoea1#
下面的脚本应该可以解决您的比较问题。它
divide and conquer algorithm
,我在这里申请。这段代码适用于windows,稍有改动就可以适用于任何其他操作系统。基本上,这里你的数据将导出每个表一个文件,然后比较将做一个文件一个文件,即表表。这将减少数据大小。
我希望这能解决你的问题。