系统因为突然断电,导致查询mysql数据时老是失败。报ERROR 1017 (HY000): Can't find file: 'tablename' (errno: 2)这个错误。
使用正常的修复表的操作对其进行修复,则查询报相同的错误,修复表失败。
仔细查看一下,这个表的数据文件,发现了问题。由于这个表做了分区,发现有个别的分区和其它的不一样:
tablename#P#temp#p20170919.MYD
tablename#P#temp#p20170919.MYI
分区文件中多了一个“#temp”,将其重命名为正常的名字后,查询该表正常了。推测是程序在对分区操作的过程中正好断电了,导致分区异常。
本文转自 XDATAPLUS 51CTO博客,原文链接:http://blog.51cto.com/xdataplus/1966541