Восстановление БД MySQL в формате InnoDB

Итак, случился «Ой». БД не запускается. Что делать?

  1. Смотрим размер ib_logfile0 файла:

2. Запускаем mysql:

Если все хорошо Вы должны увидеть следующее:
InnoDB: The user has set SRV_FORCE_NO_LOG_REDO on
InnoDB: Skipping log redo
070625 11:59:36 InnoDB: Started; log sequence number 0 0
InnoDB: !!! innodb_force_recovery is set to 6 !!!
070625 11:59:36 [Note] /usr/sbin/mysqld: ready for connections.
Version: ‘5.0.18’ socket: ‘/var/lib/mysql/mysql.sock’ port: 3306 SUSE MySQL

Далее дампим поднявшуюся базу данных:
mysqldump -u root -p database > database.sql

Если Вы получите следующее сообщение, это значит, что файлы системного журнала Innodb  повреждены:
Got error: 1146: Table ‘database.table’ doesn’t exist when using LOCK TABLES

Чтобы решить проблему с хранением ib_logfile0 файла нужна актуальная резервная копия, поэтому восстановите все файлы от старшей резервной копии. Это не безотказное решение, но ценная попытка.

Восстановите Ваши данные:
mysql -u root -p database < database.sql

Grub-rescue, как восстановить загрузку.

Предыстория. Попал в руки ноутбук Samsung NP355V4C с установленной на оном Windows 7. Задача: поставить параллельно Debian. Странности начались с самого начала — в биосе почему то ну никак не смог выставить загрузку сначала с флешки, затем с жесткого диска. Т.е. или одно или другое. Ну и ладно, бог с ним, запустил сетевую установку Debian. После установки дистрибутив по умолчанию  поставил GRUB на флешку. Необходимо было переместить GRUB на жесткий диск. Что и сделал по следующему руководству

Перезагрузился без флешки, получил Grub-rescue. В rescue mode доступно всего четыре команды:

  • ls — вывод содержимого
  • set — установить переменную
  • unset — очистить переменную
  • insmod — загрузка модуля » Читать далее