操作系统是linux,
在进行select查询的时候报错:Can't find file: 'myinfo' (errno: 2)结果在数据库目录里一查,myinfo的分区文件全不见了,但是相应的myinfo.frm myinfo.par文件还在。
数据库内其它的表还都正常,唯独该表的分区文件莫名消失!
而且,数据库目录的大小没变,也就是说文件也许还存在,但就是找不到了!

解决方案 »

  1.   

    你用
    ALTER TABLE FF DROP PARTITION partition_names
    看看能否成功,表中的数据是否丢失
      

  2.   


    不行,产生错误
    ERROR 1017 (HY000): Can't find file: 'myfile' (errno: 2)
      

  3.   

    SELECT * FROM TT
    能否成功
      

  4.   


    也不行,还是产生错误:
    ERROR 1017 (HY000): Can't find file: 'myfile' (errno: 2)在数据库目录下,此表的*.MYD和*.MYI文件都不见了!我绝对没有删除过这些文件!
      

  5.   

     查看INFORMATION_SCHEMA.PARTITIONS表 
    可以查看表具有哪几个分区、分区的方法、分区中数据的记录数等重要信息
    MYD是数据文件,没有了,数据会丢失,在LINUX下应该有磁盘恢复之类的软件吧?
      

  6.   

    myinfo 表的引擎是什么? create table 语句是什么?
      

  7.   


    引擎是myisam不过,发生这样的问题时,我频繁重启机器来着!
    这个表的所有分区的*.MYD *.MYI文件都消失不见了!
      

  8.   

    而且,在linux下用ext3grep 和debugfs等工具根本就没查到这些表文件被删除的记录!
      

  9.   


    不过,不排除是mysql的问题,因为在发现这个问题的期间,我也在进行其他表的drop column这样很耗费资源的操作。
    版主有什么别的思路就说出来吧,也是一个选项!