系统是由于断电引起的部分文件丢失。把data文件和frm文件copy到新建的mysql下面,重启后,有部分表能正常访问,另外一部分总是提示
Incorrect information in file: '.\db_parcel\parcel.frm'。。请问高人如何恢复?很重要的数据,求助mysql数据恢复表损坏

解决方案 »

  1.   

    估计是INNODB引擎的表,原来的ib_logfile*。*是否还在,如果不在,无法恢复,
    INNODB引擎的表要用MYSQLDUMP备份,MYSQL导入
      

  2.   

    ib_logfile0 和ib_logfile1 都在。
      

  3.   

    数据库有开binlog吗  如果有开  则将备份还原  然后解析出来binlog从备份的两天前 开始执行这些binlog解析出来的sql语句
      

  4.   

    没错,既然数据重要,起码二进制日志要打开,
    OR
    用MONEY找专业的公司来恢复
      

  5.   

    130111 16:04:24 - mysqld got exception 0xc0000005 ;
    This could be because you hit a bug. It is also possible that this binary
    or one of the libraries it was linked against is corrupt, improperly built,
    or misconfigured. This error can also be caused by malfunctioning hardware.
    We will try our best to scrape up some info that will hopefully help diagnose
    the problem, but since we have already crashed, something is definitely wrong
    and this may fail.key_buffer_size=2097152
    read_buffer_size=65536
    max_used_connections=1
    max_threads=50
    threads_connected=1
    It is possible that mysqld could use up to 
    key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 18363 K
    bytes of memory
    Hope that's ok; if not, decrease some variables in the equation.thd: 0x49f05268
    Attempting backtrace. You can use the following information to find out
    where mysqld died. If you see no messages after this, something went
    terribly wrong...
    006AE9D3    mysqld.exe!row_create_prebuilt()[row0mysql.c:644]
    006A8330    mysqld.exe!ha_innobase::open()[ha_innodb.cc:2379]
    004437B6    mysqld.exe!handler::ha_open()[handler.cc:2030]
    005BB02B    mysqld.exe!open_table_from_share()[table.cc:1867]
    00522C07    mysqld.exe!open_unireg_entry()[sql_base.cc:3894]
    0052625D    mysqld.exe!open_table()[sql_base.cc:2904]
    005271D2    mysqld.exe!open_tables()[sql_base.cc:4553]
    0052773A    mysqld.exe!open_and_lock_tables_derived()[sql_base.cc:4956]
    005A8B34    mysqld.exe!mysql_admin_table()[sql_table.cc:4196]
    005A9C89    mysqld.exe!mysql_repair_table()[sql_table.cc:4643]
    0055224D    mysqld.exe!mysql_execute_command()[sql_parse.cc:2878]
    00556753    mysqld.exe!mysql_parse()[sql_parse.cc:5791]
    00557234    mysqld.exe!dispatch_command()[sql_parse.cc:1202]
    00558017    mysqld.exe!do_command()[sql_parse.cc:861]
    005DA441    mysqld.exe!handle_one_connection()[sql_connect.cc:1115]
    006401FB    mysqld.exe!pthread_start()[my_winthread.c:85]
    00724593    mysqld.exe!_callthreadstart()[thread.c:293]
    F773E900    
    Trying to get some variables.
    Some pointers may be invalid and cause the dump to abort...
    thd->query at 49F3FA98=repair table instoragedetail
    thd->thread_id=1
    thd->killed=NOT_KILLED
    The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
    information that should help you find out what is causing the crash.