У меня есть приложение, которое работает под MariaDB 10.1.18, и у меня были проблемы с повреждением данных. Итак, в my.cnf я изменяю параметр innoDB_force_recovery = 1, чтобы игнорировать их. Но тогда я не могу вставлять в таблицы. Но я думал, что вставка запрещена, когда innoDB_force_recovery = 4. Можно ли вставить вставку, когда innoDB_force_recovery = 1? С уважением. ChristopheMySql: InnoDB_Force_recovery = 1 ведет к таблице только для чтения
0
A
ответ
3
Установка innodb_force_recovery=1
не исправляет повреждение данных! Это игнорирует повреждение, чтобы вы могли создавать резервные копии своих данных перед восстановлением базы данных.
Установите только эту переменную в значение, превышающее 0, в аварийной ситуации, чтобы вы могли запустить InnoDB и сбросить свои таблицы. В качестве меры безопасности InnoDB предотвращает операции INSERT, UPDATE или DELETE, когда innodb_force_recovery больше, чем 0.
Таким образом, нет. Вы не можете вставлять данные, пока активен innodb_force_recovery
. Используйте mysqldump
, чтобы создать резервную копию всех данных, затем удалить файлы данных MySQL и использовать резервную копию для ее восстановления.