MySQL Error number: MY-012622; Symbol: ER_IB_MSG_797; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: MY-012622; Symbol: ER_IB_MSG_797; SQLSTATE: HY000
Message: %s
错误说明:
ER_IB_MSG_797(MY-012622)指的是MySQL InnoDB存储引擎报告一个无法解释的错误消息,该错误消息的内容由系统参数innodb_print_all_deadlocks 来控制。
常见案例:
此错误通常会出现在下列任意一种情况下:
1. InnoDB引擎正在处理一个查询请求时,此查询可能包含一个被称为“死锁检测”的内部处理过程,该处理过程将尝试解决死锁。
2. 如果死锁检测中碰到了一些未知的异常,MySQL将抛出 ER_IB_MSG_797 错误消息,并暂停此次查询操作,以完成死锁检测并检查有什么问题。
解决方法:
ER_IB_MSG_797 错误消息出现在MySQL会话中,管理员可以执行以下步骤来解决此错误:
1. 使用 SHOW ENGINE INNODB STATUS 指令定位这个错误,查看进一步的细节。
2. 发生错误时,管理员可以使用 SHOW PROCESSLIST SQL 指令来检查死锁导致故障的活动线程。
3. 尝试重新执行出错语句,如果出错原因是由于数据库的一些状态问题,那么正确的执行可能能够重置这些状态,并允许查询成功。
4. 如果此错误消息一直存在,那么此项技术支持的专家可能会作出更深入的诊断,以解决这个问题。
5. 请尝试查看InnoDB引擎手册,将innodb_print_all_deadlocks设置为 OFF,来关闭 MySQL 内部的死锁报告。