今天突然发现部分表不能打开了,并提示如上信息。数据库目录里丢失了 .myd .myi 文件,只剩下了个对应的.frm文件。找不到了!
以为是普通的表损坏故障,但是所有的修复方法都不管用。
经过仔细排查,原来是一个疏忽了的小问题:数据库中大部分表都是 MyISAM引擎的,而新建的表默认是用的InnoDB引擎,本来是没有问题的,用InnoDB也可以正常运行,只是今天在对数据库配置文件my.ini优化时顺手关掉了 InnoDB 引擎,因为根本不打算用InnoDB引擎。
所以导致打不开这个默认使用InnoDB引擎的表,开启InnoDB引擎后该表恢复正常。
因为InnoDB的数据单独存储,和MyISAM的存储方式不同,所以也就导致找不到.myd .myi文件了。
你可以使用这个链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=6768459