Восстановление, если MYSQL не стартует: различия между версиями
Misha (обсуждение | вклад) Новая страница: «Буду писать про виндовый mysql. Допустим папка mysql лежит в d:\mysql<br> Случилась ситуация, что пр…» |
Misha (обсуждение | вклад) |
||
Строка 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 работает в режиме только для чтения.