在一次项目维护中,发现因不知名的原因,导致Mysql数据库的ibd文件出现损坏,数据库能够正常启动,但每当扫描到问题表时,则会出现连接长时间占用无法释放,数据库卡死,系统无法正常读取数据,Mysql数据库停止、启动缓慢等。再次期间处理过程如下:
1、由于数据库文件损坏,导致数据库的一系列操作如“数据库还原”、“数据库删除”、“异常表重建”等都提示异常错误,且损坏的文件无法下载。
2、为了恢复数据库表结构,确保能够正常恢复系统数据,通过以下几步操作,完成了数据库表结构的恢复:
- 通过Navicat或这Mysql命令行,删除异常数据表
- 进入数据存放路径,发现表删除操作,只删除了表结构文件,损坏的表数据文件未删除,删除剩下的ibd文件
- 根据备份文件,重新创建新的表,以恢复此表的结构和数据文件
- 使用备份文件或sql本分脚本,恢复数据库。注:Navicat对Sql脚本文件最大能支持4M左右的数据,故建议备份尽量 不要使用Sql脚本文件