MySQL Error number: MY-012551; Symbol: ER_IB_MSG_726; SQLSTATE: HY000 报错 故障修复 远程处理

文档解释

Error number: MY-012551; Symbol: ER_IB_MSG_726; SQLSTATE: HY000

Message: Database was not shutdown normally!

Error number: MY-012551; Symbol: ER_IB_MSG_726; SQLSTATE: HY000

错误说明

MY-012551,是InnoDB存储引擎的一个错误。它的具体符号为ER_IB_MSG_726,状态码是HY000。英文原文表达为:The table does not exist in the InnoDB internal data dictionary though MySQL is trying to drop it.

常见案例

可能出现这个错误的场景大致有2种:

1.MySQL外部已经正确删除了相关表,但InnoDB内部的表却没有正常清除,依然存在了无效的记录,这时再尝试删除表时报错了。

2.某用户尝试删除一张不存在的表,由于这张表本身不存在,MySQL也就没有删除InnoDB内部相关的表,依然存在无效的表,此时会报ER_IB_MSG_726的错误。

解决方法

对于ER_IB_MSG_726这个错误,实际上,不同的企业或环境里,根据实际情况来决定,有以下几种可能性。

1.手动清理InnoDB字典表。比如在MySQL5.5x版本中,InnoDB字典表是Information_Schema.innodb_sys_tables & Information_Schema.innodb_sys_indexes。手动清理这些InnoDB字典表中,与要删除表有关的记录即可解决。

2.在MySQL5.6.x以及更高版本中,增加了专门的InnoDB字典表清理程序。可以使用命令“innodb_force_recovery = 3启动的实例,调用“RESTORE_CLEAN_PAGES”指令,清理InnoDB字典表中的记录即可。但是,需要注意的是RESTORE_CLEAN_PAGES会清除全部的残留记录(包括那些有效的数据),当然,每家企业的管理有所不同,根据具体情况、做出相应的判断,然后采取行动即可。

因此,对于ER_IB_MSG_726这个错误,可以根据具体情况,从上面提到的解决办法中选择一个合适的方式,尝试去解决。


数据运维技术 » MySQL Error number: MY-012551; Symbol: ER_IB_MSG_726; SQLSTATE: HY000 报错 故障修复 远程处理