Сравнить 2 базы данных

У меня есть 2 идентичные базы данных. abc15 и abc18. Но у одной базы данных есть еще одна таблица, и мне нужно ее найти. Я думал, что следующий запрос должен вернуть его, но не показывает ли запись, которую я ожидаю.

select * from information_schema.tables as a
    left join information_schema.tables as b
        on a.TABLE_SCHEMA=b.TABLE_SCHEMA AND a.TABLE_NAME=b.TABLE_NAME
    where a.TABLE_SCHEMA = 'abc15' AND b.TABLE_SCHEMA='abc18' and
        b.TABLE_NAME IS NULL

2 ответа

Решение
$ mysqldumpslow --database abc15 >/tmp/a
$ mysqldumpslow --database abc18 >/tmp/b
$ diff /tmp/a /tmp/b

Что если в базе данных b есть дополнительная таблица? Попробуйте полное внешнее соединение и дополнительное ограничение в конце (ИЛИ.TABLE_NAME IS NULL)

Другие вопросы по тегам