innodb数据库修复 innodb数据库恢复 MYSQL数据库不能启动 IBD文件恢复
客 户 名 称 江苏某企业
数 据 类 型 MYSQL数据库5.5版本
数 据 大 小 15.5GB
故 障 检测 可能由于数据库几次未正常关闭导致字典损坏/
客 户 要 求 恢复全部数据.
修 复 结 果 客户发来后 放到我们的MYSQL环境下 ,尝试启动数据库报错,很多页面没有正常关闭导致不一致,手工校正后,再次启动
报如下错误: 程序视图访问4294962559页.这明显成了MYSQL buG,导致这个BUG的不是MYSQL本身问题还是这个ibdata1文件异常.
InnoDB: Error: trying to access page number 4294962559 in space 0,
InnoDB: space name .\ibdata1,
InnoDB: which is outside the tablespace bounds.
InnoDB: Byte offset 0, len 16384, i/o type 10.
InnoDB: If you get this error at mysqld startup, please check that
解决方案, 使用MYSQL自带命令innodb_force_recovery 几个参数都无效,还是报这个错误.由于客户的表每个一个.IBD文件 有500多个,
如果逐个使用ID匹配方法 非常耗费精力时间. 极佳MYSQL修复软件提取数据外键是个问题.客户要求数据 外键都要OK。 决定还是要解决
这个看似BUG的问题,让客户数据库直接启动。 经过分析 推算 这个报错可能是索引指针或者分配指针异常导致, 尝试几次后发现 证实了
我的猜测.修正分配指针后,数据库直接启动. 客户远程验证数据后,满意结果. 直接导出.SQL给客户.即可。
客 户 满 意 是 ,数据库数据全部正常,外键视图等全部原模原样.
深圳极佳数据救援中心友情提醒:重要数据一定要勤备份,遇到数据丢失 数据损坏 等问题,要第一时间联系专业人士。
对于各类主流数据库,我们可以做最底层的数据恢复及数据修复,对于数据库的某些特定故障我们保证数据库100%原模原样恢复,
无论多大的数据库都立等可取。