小弟这边不小心把innodb表的文件删掉了,mysql重启后就再也无法启动,现在怎么恢复它

解决方案 »

  1.   

    什么文件?ibdata?iblogfile ? 还是?
    顺便把错误信息贴出来;
      

  2.   

    my.ini文件,找到skip-innodb,去掉skip-innodb前面的#
      

  3.   


    不是,是innodb表的文件,我的idb已经独立出来了,把frm文件和idb文件给删了
      

  4.   


    如果是这样的话,那我就看不到其它innodb的表了,我没办法对其它正常的表做整理了
      

  5.   

    就是无法启动MYSQL服务,没有其它的错误信息
      

  6.   

    楼上的意见my.ini文件,找到skip-innodb,去掉skip-innodb前面的#
    我再研究下,回头再说
      

  7.   

    看看错误信息吧,楼主好像是一个表一个idb文件,对吗?如果是这样,也许有得救。
      

  8.   

    如果你的数据并不重要,不需要恢复的话,那你把ibdata*, ib_logfile* 这几个文件都删除,然后再重启MYSQL。
      

  9.   

    1 你的错误日志里有什么相关的信息,贴上来。
    2 我用innodb+per table 删除了一个库的表,例如test库下的aaa表。即test目录中的aaa.ibd和aaa.frm文件。每次重启mysql服务器都提示缺少这两个文件。但是能启动mysql服务器!也能使用!手册上说的情况和我见到的相同,手册给出了解决方法:
    If this occurs, try the following procedure to resolve the problem:
    Create a matching .frm file in some other database directory and copy it to the database directory where the orphan table is located.
    Issue DROP TABLE for the original table. That should successfully drop the table and InnoDB should print a warning to the error log that the .ibd file was missing.
    摘自 http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html3 停止mysql服务器,无需建立完全相同的frm文件。随便找一个好的,别的库中的innodb的frm文件。复制到目标库(test库)中,然后改名成目标frm(aaa.frm)即可。
    4 启动服务器,show table看到了那个表,删除表,再重启服务器,则不出错误信息了。
      

  10.   

    最后我用的就是用相同的表改名过来用,然后启动服务,再进行处理。
    如果把ibdate之类文件删除掉,会导致其它的innodb表不可用。