Как заново создать таблицу MySQL InnoDB из файла .ibd? - PullRequest
19 голосов
/ 08 апреля 2010

Предположим, что следующие файлы MySQL были восстановлены с резервной ленты:

  • tablename.frm
  • tablename.ibd

Кроме того, предположим, что установка MySQL была запущена с innodb_file_per_table, а база данных была полностью отключена с помощью mysqladmin shutdown.

При новой установке той же версии MySQL, из которой были взяты восстановленные файлы MySQL, как мне импортировать данные from tablename.ibd / tablename.frm в эту новую установку?

Ответы [ 4 ]

3 голосов
/ 28 ноября 2016

Подобная вещь здесь ответили.пожалуйста, посмотрите https://stackoverflow.com/a/10943833/3985205

Да, это возможно.Недостаточно просто скопировать файлы .frm в папку databse, но вам также необходимо скопировать файл ib_logfiles и ibdata в папку данных.Я просто скопировал файлы .frm, скопировал эти файлы и просто перезагрузил сервер, и моя база данных была восстановлена.

0 голосов
/ 11 января 2018

Я опубликовал правильное решение, когда вы потеряли файл ib_logfiles и ibdata, а у вас есть только .frm и .idb файлы.

Пожалуйста, посмотрите на мой комментарий по этой ссылке:

Восстановление структуры таблицы из файлов frm и ibd

Это будет работать и для вас.

Спасибо.

0 голосов
/ 26 октября 2016

Это может работать не во всех случаях. Но да, это работает в некоторых случаях ...

Сначала остановите все службы, связанные с wamp или xampp, которые вы используете.

Затем скопируйте и вставьте tablename.frm, tablename.ibd

файлы в папке mysql / data / DATABASE NAME FOLDER. затем снова запустите все службы. планшет, созданный под этой БД.

0 голосов
/ 21 октября 2016

Вы должны привести таблицу в табличное пространство:

https://www.percona.com/doc/percona-xtrabackup/2.2/innobackupex/restoring_individual_tables_ibk.html

ALTER TABLE mydatabase.tablename IMPORT TABLESPACE;

Также необходимо иметь файл exp / cfg.

...