Восстановить базу данных базы данных MySQL с восстановленного жесткого диска
Мне удалось восстановить папку базы данных сервера MySQL 5.5 поврежденной операционной системы (Windows XP) в
C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.5\data\
Как я могу вручную восстановить его на новый MySQL Server? Когда я открываю папку, я обнаружил несколько папок, и я полагал, что это базы данных. Я не загружал файлы SQL.
Ответы
Ответ 1
Хорошо, я получил ответ на свою собственную проблему.
Возможный сценарий
- Программа MYSQL повреждена и не запускается. Свежая установка MYSQL
не восстановили данные.
- Компьютер разбился, но жесткий диск все еще
работая
- Windows повреждена и не запускается, но данные безопасны.
Для вашей информации в MYSQL файлы с расширением MYD
- это данные таблицы, FRM
- это определение таблицы, а MYI
- индексы таблицы. Существует также файл ibdata
, указанный в файле my.ini, который является файлами tablesapce InnoDB. Вы должны быть administrator
, чтобы иметь доступ к папке "Документ" и "Настройки" или папке "Файлы программ".
- Откройте проводник Windows (Windows Key + E) или откройте Мой компьютер и перейдите в папку с данными, в которой находятся файлы базы данных.
- Я бы рекомендовал вам скопировать все папки в папку данных, а не просто выбрать несколько для копирования. Скопируйте папки базы данных и файл ibdata (НЕ КОПИРУЙТЕ файлы ib_logfile (x)!)
Обратите внимание, что файл ibdata может находиться не в том же месте, что и файлы данных.
Чтобы узнать, где это может быть, прочитайте "Как найти файлы базы данных MYSQL в Windows".
- Перейдите на целевой компьютер, Откройте системные службы. (Введите services.msc в меню Windows "Поиск программы и файлы" ).
- На правой панели окна "Службы" прокрутите список и найдите имя "MYSQL". Выберите MYSQL и щелкните правой кнопкой мыши и щелкните. Как только он остановится, ваш статус станет пустым, а не.
- Аналогичным образом найдите расположение папки данных. Как только вы его разместите, я рекомендую вам создать резервную копию папки или просто переименовать ее. Вставьте папки и файл ibdata, которые вы скопировали с исходного компьютера в папку с данными.
- Вернитесь в окно "Службы" и выберите обратно MYSQL. Щелкните правой кнопкой мыши по нему и нажмите, чтобы возобновить службу MYSQL.
- Откройте администратор MYSQL и войдите в систему на своем сервере базы данных, и вы сможете увидеть свою переданную базу данных вместе со своими данными.
Ответ 2
@JohnWoo ответ только для движка базы данных MYSIAM
. Мой ответ строго для механизма хранения InnoDb, т.е., FRM
и IBD
файлов
Чтобы восстановить базу данных InnoDb
, я выполнил эти шаги успешно. Прежде чем указывать шаги, я хотел бы сказать вам, что я выполнил восстановление с восстановленного жесткого диска Wndows XP и перенес его в Windows 7. Таким образом, это поможет пользователям Windows XP и Windows 7. Итак, следующие шаги: -
- Сервер MySQL на обеих машинах ДОЛЖЕН быть остановлен. Конечно, если ОС/жесткий диск разбился, сервер на этом компьютере уже остановлен.
- Теперь установка MySQL находится в 2 папках (для меня как минимум) →
1. Программные файлы/программные файлы (x86) и
2. C:\Program Data\MySQL в Windows 7 и C:\Users\All users\Application Data\MySQL в Windows XP. Обратите внимание, что данные программы (win7), а также данные приложения (WinXP) являются скрытыми папками.
- Мы ТОЛЬКО ОДОБРЕНЫ с папкой MySQL Server ** в папках данных приложения или программных данных. Папка Mysql в Program Files бесполезна, поскольку у нее нет данных.
- Теперь скопируйте файл my.ini в папку MySQL Server **.
- Откройте папку с данными и скопируйте эти файлы
<Б > 1. Все файлы ib_logfile *
2. Все файлы ibdata *
3. Папки базы данных (которые вы хотите), содержащие файлы .frm и .ibd.
- Теперь скопируйте файлы, указанные в указанных выше двух точках на машине назначения. Настоятельно рекомендуется сделать резервную копию замененных файлов на конечном компьютере.
- Теперь перезапустите сервер. Если вы поедете правильно, вы сможете восстановить свои базы данных без каких-либо ошибок.
Я бы порекомендовал вам взглянуть на метод холодной резервной копии для InnoDB в документах mysql на dev.mysql.com/doc/mysql-backup-excerpt/5.5/en/innodb-backup.html
Ответ 3
Я думаю, что управление файлами MySQL по умолчанию довольно просто. Создайте простую новую базу данных и скопируйте восстановленные файлы в подпапку mysql, которая создается в ответ, заменив любые созданные файлы базы данных. Если это не сработает, создайте таблицу в новой базе данных, чтобы получить подсказку о том, что еще может понадобиться.