MySQL错误日志出现 [Note] InnoDB: Discarding tablespace of table db.table: Data structure corruption产生可能的原因及解决办法?

MySQL错误日志出现 [Note] InnoDB: Discarding tablespace of table db.table: Data structure corruption产生可能的原因及解决办法?


一、产生原因
从错误日志即可判断出表空间ibd文件发生了物理损坏,那么其中的可能包括如下:
    1、数据库服务器异常down机/断电等。
    2kill -9强制关闭mysqld
    3、表空间导出导入过程中发生的ibd文件损坏。
    4、人为损坏ibd文件。
    5、底层物理I/O设备损坏,导致文件损坏。


二、解决办法
    1、从其他实例(如slave)上进行表空间传输进行导入或进行SQL导出导入。
    2、从历史备份中进行全量+增量恢复完整的ibd文件后再进行表空间传输或进行SQL导出导入。
    3、尝试innodb_force_recovery从1-6逐一尝试启动数据库,启动后通过mysqldump重新将表导出导入。
    4、考虑使用工具undrop-for-innodb从index page尝试数据恢复。
原文地址:https://www.cnblogs.com/zhouwanchun/p/13142133.html