Восстановление данных InnoDB в MySQL
06.02.2010, 06:12
После очередного «небольшого конфуза» с моим мускулом, он перестал загружаться.
Решено было переустановить его и встала проблема, как сделать дампы баз данных?
Большинство моих таблиц имели тип InnoDB.
В наличии у меня было:
ibdata1 — 1Гб
ib_logfile0 — 5 Мб
ib_logfile1 — 5 Мб
Пришлось все это дело лить на локалку — дабы безопасно потестить и найти метод восстановления. Запаковал весь /var/db/mysql и слил себе.
Подкинули ссылку на статью, в которой точно такая же ситуация. Только я восстанавливал на ноутбуке, винде.
Итак, на локальном серверу MySQL мы подменяем папку Data, которую мы слили из /var/db/mysql.
Сервис MySQL естественно надо остановить (Панель управления / Администрирование / Службы / MySQL » Остановить).
1. заходим в папку с бинарниками мускла и запускаем mysql с параметрами восстановления InnoDB
2. в лог-файле должно появиться примерно следующее:
3. открываем еще одну коммандную строку и делаем дампы наших баз данных
* не забываем, что логин и пароль – не от локального мускула, а от того, что мы восстанавливаем.
Вот и все, таким образом были восстановлены дампы всех баз данных.
Также хочу предостеречь от использования знака «-» в именах таблиц и баз данных, при этом инциденте — они у меня преобразовались в @002d.
p.s.
боже храни Дуда за ссылку на статью
и отдельное мега-спасибо Эдворду, практически персональному админу :)