Восстановить базу данных из файлов *.frm - mysql?

К сожалению, вчера произошел сбой Windows, и у меня есть время только на то, чтобы извлечь файлы frm из моей базы данных mysql. Я посмотрел в Google и обнаружил, что это всего лишь структура таблицы (именно это мне и нужно)

Итак, есть ли способ восстановить эти файлы обратно в mysql. Я поместил их в каталог, откуда я взял их со вчерашнего дня, и phpmyadmin распознает базу данных, но не расшифровывает таблицы, но я также не могу создавать таблицы с тем же именем.


person Viren    schedule 25.02.2013    source источник


Ответы (1)


Перед запуском вы должны остановить службы WAMP или, по крайней мере, перезапустить службы при появлении запроса на их запуск.

На старом экземпляре сервера перейдите к папке данных MySQL по умолчанию, это должно выглядеть примерно так: C:\wamp\bin\mysql\mysql5.1.53\data\, где mysql5.1.53 будет номером версии ранее установленной базы данных MySQL.

Внутри этой папки вы должны увидеть несколько файлов и папок. Папки являются фактическими базами данных MySQL и содержат набор файлов .frm, которые нам потребуются. Вы должны распознавать имена папок как имена баз данных. Эти папки и все их содержимое можно скопировать непосредственно в папку данных MySQL, вы можете пренебречь базами данных по умолчанию mysql, performance_schema, test.

Если вы запустите сервер сейчас, вы увидите, что базы данных были загружены, однако базы данных не будут содержать ни одной из таблиц, которые были скопированы. Для того, чтобы содержимое базы подцепилось, еще в папке с данными вы должны увидеть файл ibdata1, это файл с данными для таблиц, скопируйте его прямо в папку с данными, у вас уже должен быть файл в вашей новой папка данных с именем «ibdata1», поэтому вы можете переименовать ее в ibdata1.bak перед копированием в ibdata1 из старой папки данных MySQL.

Как только это будет сделано, перезапустите все службы WAMP. Вы можете использовать PhpMyAdmin, чтобы проверить, успешно ли восстановлены ваши базы данных.

person Azam Alvi    schedule 09.12.2013