У меня есть две базы данных MySQL: одна для тестирования и одна для производства.Они находятся на разных серверах.Эти таблицы должны быть идентичными, однако одна таблица имеет на одну строку больше, чем другая.Как мне найти этот ряд?
Одним из способов является экспорт каждой таблицы в файл sql и использование программы сравнения, чтобы найти различия.
Pretty Diff (web) - http://prettydiff.com/
WinMerge (победа) - http://winmerge.org/
FileMerge (OS X) - http://en.wikipedia.org/wiki/Apple_Developer_Tools#FileMerge
pt-table-sync --print h=server1,D=dbname,t=tablename h=server2
См. http://www.percona.com/doc/percona-toolkit/2.0/pt-table-sync.html
Вы можете попробовать:
Затем запустите
SELECT t1.* FROM table1 t1 LEFT JOIN table2 t2 ON t1.id = t2.id WHERE t2.id IS NULL
Я иногда делал трюк (вам нужен доступ к обеим таблицам):
Очевидно, что вы должны быть осторожны, если таблицы большие.
мы используем http://www.red -gate.com / products / sql-development / sql-сравнить /