适用于: MySQL服务器版本4.0及以上 本文信息适用于所有平台。   症状 MySQL服务器由以下信息崩溃:  
InnoDB: Database page corruption on disk or a failed
InnoDB: file read of page
  原因 为了保护数据,InnoDB使用校验和(与页储存在一起)。当InnoDB从磁盘读取时,它计算每个页的校验和,并与磁盘加载的校验和进行比较。如果值是不同的,可能真的发生了一些错误。InnoDB将关闭MySQL服务器,以防止进一步的逻辑或物理损坏。   解决方案 如何找出损坏发生的原因 没有通用的解决方案。最典型的是有一些硬件问题,例如:物理磁盘或内存故障,坏的驱动器/控制器,甚至操作系统内核的bug。下面是一些建议:  
  • 在Linux平台上,有时会重置页缓存能解决这个问题:
echo 2 > /proc/sys/vm/drop_caches
  • 检查系统日志有没有可能的硬件故障。
  • 如果InnoDB每次在特定页崩溃,最典型的是物理磁盘发生故障:运行对于你的OS /硬件的详细磁盘诊断。
  • 如果崩溃是随机的且不在相同查询重复,可能是RAM故障:运行详细的RAM诊断。
  • 在MySQL关闭时,用innochecksum工具检查InnoDB文件是有帮助的。
  如何从损坏中恢复 最重要的是执行详细的硬件诊断,以消除问题扩散的机会。如果操作系统I / O缓存是磁盘读损坏的原因,重置缓存或重新启动操作系统应有助于消除当前的问题,数据库可能会重新运作。   有时唯一的解决办法是在有效恢复模式下备份数据。Sometimes the only   参考 http://dev.mysql.com/doc/en/forcinginnodbrecovery.html http://dev.mysql.com/doc/en/innochecksum.html