我有一个在 MariaDB 10.1.18 下运行的应用程序,我遇到了数据损坏的问题。 因此,在 my.cnf 中,我更改了参数 innoDB_force_recovery = 1 以忽略它们。 但是,我无法在表中插入。但我认为当 innoDB_force_recovery = 4 时禁止插入。 是否可以在 innoDB_force_recovery = 1 时进行插入? 此致。 克里斯托夫
最佳答案
设置 innodb_force_recovery=1
不会修复数据损坏!它忽略损坏以允许您在重建数据库之前备份数据。
Only set this variable to a value greater than 0 in an emergency situation, so that you can start InnoDB and dump your tables. As a safety measure, InnoDB prevents INSERT, UPDATE, or DELETE operations when innodb_force_recovery is greater than 0.
所以,不。当 innodb_force_recovery
处于事件状态时,您无法插入数据。使用 mysqldump
创建所有数据的备份,然后删除 MySQL 数据文件并使用备份恢复它。
关于MySQL : InnoDB_Force_recovery = 1 leads to table in read only,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41691943/