Ниже скрипт должен решить вашу проблему сравнения.Его 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
Надеюсь, это решит вашу проблему.