我的webapp在私有虚拟机上运行,我刚从数据中心的严重系统故障中恢复过来,因此mysql服务一直在崩溃,直到我决定转移到最后一个备份虚拟机映像。它需要两天(所以在最近两天系统不稳定)总之,有没有办法比较每个表和两个Mysql数据库的每一行? (相同的结构)。 我在系统故障之前以及在移动到最后一个备份VM映像之前的数据库备份。 供参考: 时间间隔(失败前和恢复后)aprox。 52小时。 Ubuntu 14.04,Nginx,php和Mysql
答案 0 :(得分:0)
我认为您想使用校验和。 看看它的MySQL参考。 https://dev.mysql.com/doc/refman/5.7/en/checksum-table.html 祝你好运
答案 1 :(得分:0)
data_check或structure_check可能需要很长时间; 通过
安装mysql-utilitiesapt-get install mysql-utilities
或yum;
像这样使用mysqldiff
mysqldiff --server1=<user>:<pwd>@<ip> --server2=<user>:<pwd>@<ip> --difftype=unified <dbname in server1>:<dbname in server1>
mysql.gtid_executed在server1和server2中有所不同,差异显示在底部;
比较数据,使用mysqldbcompare;
mysqldbcompare --server1=<user>:<pwd>@<ip> --server2=<user>:<pwd>@<ip> --difftype=unified <dbname in server1>:<dbname in server1>