解决方案 »

  1.   

    ibdata才30GB而已,按理说只要你是在MySQL停机状态下删除ib_logfile,是不会影响MySQL正常启动,再次启动时会自动重建redo日志文件,难道你是在MySQL运行时删除的这两个日志文件的吗?
    1,先强制关闭MySQL,再重启试试,如果不能重启,请贴出错误日志
    2,如果能重启,再用mysqldump把数据全部导出来
    3,修改配置文件,设置innodb_file_per_table=1,重启MySQL
    4,导入备份数据注意按照这种方法,你的ibdata文件时不会缩小的,除非你重新建一个新的实例,把数据导入新实例
      

  2.   

    配置文件加这一行 然后重启试试
    innodb_force_recovery = 6然后mysqldump导出数据
      

  3.   

    ## innodb_force_recovery
    ## 还可以设置为6个非零值:1~6。大的数字包含了前面所有小数字的影响,具体情况如下。
    #1(SRV_FORCE_IGNORE_CORRUPT):忽略检查到的corrupt页。
    #2(SRV_FORCE_NO_BACKGROUND):阻止主线程的运行,如主线程需要执行full purge操作,会导致crash。
    #3(SRV_FORCE_NO_TRX_UNDO):不执行事务回滚操作。
    #4(SRV_FORCE_NO_IBUF_MERGE):不执行插入缓冲的合并操作。
    #5(SRV_FORCE_NO_UNDO_LOG_SCAN):不查看撤销日志(Undo Log),InnoDB存储引擎会将未提交的事务视为已提交。
    #6(SRV_FORCE_NO_LOG_REDO):不执行前滚的操作选择6试一下吧,打开以后,导出吧