MySQL Error number: MY-012645; Symbol: ER_IB_MSG_820; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: MY-012645; Symbol: ER_IB_MSG_820; SQLSTATE: HY000
Message: %s
MySQL错误ER_IB_MSG_820,常见于MySQL 5.7版本。该错误代表了一个内部错误出现并且MySQL服务无法继续。
错误说明:
Mysql错误ER_IB_MSG_820代表MySQL服务发生了一个内部错误,使得MySQL服务无法正常运行。该错误是常见于MySQL 5.7及更高版本的错误,通常表明常见的MySQL检查点恢复问题。
常见案例
Mysql错误ER_IB_MSG_820的一个典型的案例是一个内部错误在mysqld的类型2存储引擎(即InnoDB)出现,并且MySQL服务处于不稳定状态,从而阻止用户访问和访问MySQL数据库。典型的案例中会返回以下错误:
2020-09-14T14:59:41.715127Z 5 [ERROR] [FATAL] InnoDB: Assertion failure in thread 2342 in file ../../src/include/buf0buf.ic line 854
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: Immediately following the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.7/en/forcing-recovery.html
InnoDB: about forcing recovery.
解决方法:
一般处理方法及步骤
1.重新启动MySQL服务:可以使用MySQL提供的脚本,手动重新启动MySQL服务,以实现对MySQL数据库的访问。
2.确定问题的潜在原因:通过关注MySQL日志以及MySQL文件来检查问题的潜在原因。通常可以检查以下MySQL文件:mysqld.pid,server.err,error.log,e.g.
3.关注MySQL提供的参考信息:MySQL官方提供了一些建议来解决问题:. 强制恢复特定事务;. 从检查点恢复;. 使用InnoDB参数来控制InnoDB的行为。
4.运行完整的MySQL补丁:MySQL有时候会发布补丁来修复某些错误,这可能会解决出现MySQL ER_IB_MSG_820错误的原因。
5.尝试格式化和重建数据库:如果一切其他的方法都不起作用,那么最终的解决方案就是重新格式化和重建数据库。使用MySQL备份功能及时备份数据库,然后进行数据库重建。这可以有效解决MySQL ER_IB_MSG_820错误。