2014-01-20 2 views
0

Я использовал резервное копирование Microsoft MySQL, но мне нужно восстановить одну таблицу сейчас. Я не хочу прикасаться к моим существующим таблицам, но хочу восстановить одну базу данных в новые базы данных, чтобы я мог просматривать старые значения и вынимать из нее только пару.Как создать новую базу данных из резервной копии в mysql

У меня есть приложение-журнал для базы данных, которую я хочу восстановить. , тогда я создал новую базу данных под названием XY, и я поместил все файлы, которые были сгенерированы после операции «appy-log» в папку XY, в файл данных mysql.

я все таблицы, но при попытке запросить любого из них я получаю ошибку «таблица не существует»

как я могу получить MySQL, чтобы прочитать восстановленные файлы в новую таблицу, не вызывая больше проблем ?

ответ

0

Вы не можете просто перемещать файлы по каталогу данных и ожидать, что InnoDB их заметит.

InnoDB поддерживает словарь данных, который можно охарактеризовать как оглавление для книги. Вот как InnoDB знает, какие таблицы существуют. Словарь данных обновляется операторами DDL, такими как CREATE, ALTER, DROP, RENAME. Но он не обновляется, если вы физически перемещаете файл в datadir.

Ниже приведено описание метода импорта таблицы из базы данных MySQL Enterprise Backup: Backing Up and Restoring a Single .ibd File.

MySQL 5.6 представил новую гибкость с их функцией transportable tablespace.

Обратите внимание, что оба эти метода предназначены для импорта одной таблицы за один раз. Для импорта целой базы данных нет решения.

В конечном счете, было бы намного проще восстановить резервную копию отдельного экземпляра MySQL, а затем получить доступ к нескольким вещам, в которых вы нуждаетесь. Хорошим инструментом для создания временного экземпляра MySQL является MySQL Sandbox.

Смежные вопросы