经过多次尝试,我终于能够通过在 my.ini 中添加 innodb_force_recovery = 6 来重新启动严重损坏的数据库
但是现在,除非该行永久存在于 ini 文件中,否则我根本无法启动服务器。这似乎不对。
以这种方式恢复数据库后,除了备份和还原到全新的数据库外,我还应该做些什么吗?
经过多次尝试,我终于能够通过在 my.ini 中添加 innodb_force_recovery = 6 来重新启动严重损坏的数据库
但是现在,除非该行永久存在于 ini 文件中,否则我根本无法启动服务器。这似乎不对。
以这种方式恢复数据库后,除了备份和还原到全新的数据库外,我还应该做些什么吗?
最终没有办法解决这个问题,这是预期的行为:
inndob_force_recovery = 6 实际上并不像人们想象的那样恢复您的表。它只是允许 mysqld 启动,尽管表已损坏。
表也通过这种“紧急模式”变成只读,导致整个模式无法用于生产。
本质上,它会触发 mysqld 的“安全模式”启动,只是为了允许导出数据库、重新创建新表并重新导入,而我最终就是这样做的。