Связаться со мной:
1 заметка с тегом

innodb

Восстановление поврежденных innodb таблиц

При повреждении innodb таблиц мускуль не стартует, что создает определенные сложности для ремонта таблиц.
Чтобы запустить мускуль нужно вписать в my.cnf

innodb_force_recovery = 1
innodb_purge_threads = 0

Затем стартуем mysql. Он запустится в режиме в котором таблицы можно читать, но нельзя редактировать. И делаем дамп всех баз

mysqldump -u root -p --all-databases > dump.sql

Теперь идем в каталог /var/lib/mysql и удаляем там все каталоги кроме mysql и performance_schema, файлы ib_logfile* и ibdata* тоже сносим.
Теперь убираем из my.cnf

innodb_force_recovery = 1
innodb_purge_threads = 0

И рестартуем mysql в нормальном режиме.
Теперь вернем все базы обратно

cat dump.sql | mysql -u root -p
2018   innodb   mariadb   mysql   mysqldump