解决办法
- 打开 my.cnf (win打开.ini) 添加配置
innodb_force_recovery = 1并重启mysql-server服务 - 创建同样表结构(student_cp)并设置存储引擎为MYISAM
- 使用insert into student_cp select * from student 数据copy (可以看到数据已经恢复到student_cp表中)
- 停止mysql-server服务 删除 student.idb 并且将配置
innodb_force_recovery = 1删除后再重启mysql-server - 再创建student表 并通过 insert into student select * from student_cp 数据copy(问题解决!!)
问题原因和命令说明
强制退出mysql服务或者重启电脑导致InnoDB磁盘索引损坏 innodb引擎出了问题
innodb_force_recovery = 1 InnoDB存储引擎的恢复状况 默认为0 可选值 0-6
当InnoDB表由于强制关闭或重启导致损坏时,可以设置innodb_force_recovery=1来临时修复,并将数据复制到新表。首先在my.cnf中添加配置,重启服务,创建新表结构并用MYISAM引擎存储,然后复制数据。接着删除损坏的.idb文件,移除恢复配置,再次重启服务,从备份表恢复数据,问题即可解决。
5万+

被折叠的 条评论
为什么被折叠?



