Восстановление, если MYSQL не стартует: различия между версиями
Misha (обсуждение | вклад) (Новая страница: «Буду писать про виндовый mysql. Допустим папка mysql лежит в d:\mysql<br> Случилась ситуация, что пр…») |
Misha (обсуждение | вклад) (→Редактируем d:\mysql\my.ini) |
||
Строка 5: | Строка 5: | ||
==Пытаемся сделать дампы баз== | ==Пытаемся сделать дампы баз== | ||
===Редактируем d:\mysql\my.ini=== | ===Редактируем d:\mysql\my.ini=== | ||
− | В блок | + | В блок [mysqld] вставляем строку с innodb_force_recovery. |
+ | <pre>[mysqld] | ||
+ | innodb_force_recovery=1</pre> | ||
+ | И пробуем запустить MYSQL. Для этого с консоли, запущенной от администратора запускаем. | ||
+ | <pre>net start mysql</pre> | ||
+ | ====Значения innodb_force_recovery==== | ||
+ | По умолчанию innodb_force_recovery равен 0 -(обычный режим загрузки без принудительного восстановления). Допустимые значения отличные от нуля для innodb_force_recovery от 1 до 6. Большее значение включает в себя функциональность меньших значений. Например, значение 3 включает в себя все функциональные возможности значений 1 и 2. | ||
+ | |||
+ | Если вы сможете сделать дамп Ваших таблиц со значением innodb_force_recovery равным или меньшим 3, то восстановление относительно безопасно, те только некоторые данные у битых таблиц могут потеряется. | ||
+ | |||
+ | Значение 4 или выше считается опасным , так как файлы данных могут быть повреждены. Значение 6 считается радикальным , поскольку страницы базы данных остаются в устаревшем состоянии, которое , в свою очередь, может привести к сильным повреждениям в B-деревьях и других структурах баз данных. | ||
+ | |||
+ | В качестве меры безопасности, InnoDB предотвращает INSERT , UPDATE или DELETE операции , когда innodb_force_recovery больше 0. При зачениях innodb_force_recovery 4 и больше, InnoDB работает в режиме только для чтения. |
Версия 21:03, 11 марта 2016
Буду писать про виндовый mysql. Допустим папка mysql лежит в d:\mysql
Случилась ситуация, что при запуске сервиса MYSQL, он сразу падает. В логах пишет, что повреждены INNODB таблицы.
Содержание
Делаем архив папки d:\mysql\data, где лежат все таблицы базы данных. (На всякий случай).
Записываем названия баз данных - названия папок в папке d:\mysql\data.
Пытаемся сделать дампы баз
Редактируем d:\mysql\my.ini
В блок [mysqld] вставляем строку с innodb_force_recovery.
[mysqld] innodb_force_recovery=1
И пробуем запустить MYSQL. Для этого с консоли, запущенной от администратора запускаем.
net start mysql
Значения innodb_force_recovery
По умолчанию innodb_force_recovery равен 0 -(обычный режим загрузки без принудительного восстановления). Допустимые значения отличные от нуля для innodb_force_recovery от 1 до 6. Большее значение включает в себя функциональность меньших значений. Например, значение 3 включает в себя все функциональные возможности значений 1 и 2.
Если вы сможете сделать дамп Ваших таблиц со значением innodb_force_recovery равным или меньшим 3, то восстановление относительно безопасно, те только некоторые данные у битых таблиц могут потеряется.
Значение 4 или выше считается опасным , так как файлы данных могут быть повреждены. Значение 6 считается радикальным , поскольку страницы базы данных остаются в устаревшем состоянии, которое , в свою очередь, может привести к сильным повреждениям в B-деревьях и других структурах баз данных.
В качестве меры безопасности, InnoDB предотвращает INSERT , UPDATE или DELETE операции , когда innodb_force_recovery больше 0. При зачениях innodb_force_recovery 4 и больше, InnoDB работает в режиме только для чтения.