解决MySQL数据库InnoDB引擎ERROR 1033 (HY000): Incorrect information in file: '.*.frm'

今天在操作某个MySQL数据库(InnoDB引擎)的test表的时候,出现了问题,导致该表无法访问,访问的时候就提示错误:ERROR 1033 (HY000): Incorrect information in file: './test/test.frm'

按照错误信息提示信息的意思就是这个frm后缀的文件存在错误信息,那么这个文件是干什么的呢?为什么访问数据表会提示这个信息?怎么修复?

frm是MySQL表结构定义文件,通常frm文件是不会损坏的,但是如果出现特殊情况出现frm文件损坏也不要放弃希望,当修复MyISAM和InnoDB表时,MySQL服务会首先去调用frm文件,所以我们只能通过修复frm文件进行后面的数据恢复。

也就是说frm是表结构文件,通过mysql数据库自带的修复命令无法修复成功,只能另辟蹊径。

方法:找到该数据表的备份sql文件,另外建立一个数据库test2,将备份文件导入该数据库中,然后在命令行下先将原来的test数据库中的test.frm重命名一下,再将test2数据库的test.frm文件复制test数据库目录下。再次访问test表,没有问题了。

上一篇: 在Mac系统下给树莓派安装CentOS系统+LNMP运行环境
下一篇: 使用mysqldump导出mysql数据中指定表中的指定数据

发表评论