下面的脚本应该可以解决您的比较问题。它的divide and conquer algorithm
,我在这里申请。此代码适用于 Windows,稍作更改将适用于任何其他操作系统。
基本上,在这里您的数据将按表导出一个文件,然后将逐个文件进行比较,即逐个表。这将减少数据大小。
mysql -h master-database -u masteruser -pmasteruser_Password masterdatabase --skip-column-names --execute='SHOW TABLES;' > tables.tmp
echo "Start!"
while read p; do
echo "Exporting Master" $p
mysqldump -h master-database -u masteruser -pmasteruser_Password master_database $p > master_$p.sql
echo "Exporting Slave" $p
mysqldump -h slave-database -u slaveuser -pslaveuser_Password slave_database $p > slave_$p.sql
echo "Doing Diff"
##I'm less familiar with this, but I believe it should work.
mysqldiff master_$p.sql slave_$p.sql > diff_$p.sql
done <tables.tmp
rm tables.tmp
我希望这能解决你的问题。