Восстановление таблицы в MySQL из нескольких дампов

0

У меня есть база данных MySQL, на которой я выполнил пару дампов. У меня есть эти файлы: dumpA, dumpB, dumpC

dumpA содержит все таблицы во время дампа

dumpB и dumpC содержит только таблицу T

Между дампами я усечена таблица T, поэтому dumpA содержит первичные ключи 1-100 для таблицы T, dumpB 101-200 и dumpC 201-300.

Я хочу полностью восстановить таблицу T.

Как импортировать только таблицу T из dumpA, которая содержит другие таблицы?

Как только я это сделаю, будет импортирован dumpB truncate table T, чтобы данные из dumpA исчезли?

Теги:

2 ответа

3
Лучший ответ

Дампы - это простой SQL, который вы можете редактировать вручную. Просто выньте объявления таблицы T из dumpA и перетащите их в другой файл. Затем убедитесь, что dumpB и dumpC не содержат ничего, что могло бы уничтожить предыдущий дамп, например TRUNCATE или DROP TABLE и т.д. На самом деле вы можете делать все запросы на создание таблицы из dumpB и dumpC alltogether, поскольку они не являются необходимо.

Я не знаю, что MySQL может выполнять какую-либо фильтрацию данных при импорте, так что это самый простой способ.

  • 0
    +1 :) @hekevintran Вы можете проверить создание таблицы также в дампе B и C
  • 0
    Сладкий! Спасибо за объяснение.
1

Вместо того, чтобы делать это вручную, вы можете использовать следующий script, чтобы извлечь таблицу T из каждой из дампов и использовать ее. http://kedar.nitty-witty.com/blog/mydumpsplitter-extract-tables-from-mysql-dump-shell-script/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню