文档解释
Error number: MY-012803; Symbol: ER_IB_MSG_978; SQLSTATE: HY000
Message: %s
错误ER_IB_MSG_978的全称为ER_INDEX_CORRUPT,是MySQL的一类错误,提示用户InnoDB索引被损坏了,MySQL会返回一个HY000的SQLSTATE码,表明该错误来自InnoDB。
错误ER_IB_MSG_978一般由以下三种情况引起:
1.软件数据库出现错误:当数据库在不正常的情况下崩溃,如系统死机、断电等,导致数据库被意外终止,索引就会受到破坏;
2.硬件故障:如磁盘文件错误,文件系统崩溃等情况,可能会破坏InnoDB的索引文件;
3.InnoDB系统错误:如InnoDB的检查点错误,主备差异,以及InnoDB系统中出现的各种bug。
一般处理方法及步骤
1.更改表空间文件:
对于软件错误、硬件故障和InnoDB系统错误等情况,应首先下载最新的MySQL安装包,其次从上次正常备份中恢复表空间文件到最新的MySQL安装包中,最后重新启动MySQL,让其完成检测和表空间更新。
2.修复InnoDB索引:
下载安装Percona Toolkit(PT),使用PT的pt-table-checksum对表进行校验,检查表的一致性;使用pt-online-schema-change程序更新表,做表的优化,按照要求处理问题。
香港美国云服务器首选树叶云,2H2G首月10元开通。
树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/233948.html<

