Error number: MY-012632; Symbol: ER_IB_MSG_807; SQLSTATE: HY000
Message: %s
错误说明
ER_IB_MSG_807是MySQL定义的一个标准错误代码,该代码归为客户端/服务器通讯的错误类别,指明了一个通过 InnoDB 日志新建失败的消息。其信息涉及某一尝试以特定格式保存日志时发生的失败,以及必要的步骤作为解决该问题的解决方案。
常见案例
在MySQL数据库中经常遇到ER_IB_MSG_807错误消息,尤其是在使用MySQL InnoDB 存储引擎处理大量在线交易时会遇到。假设当用户连接MySQL数据库时,将出现“Error”消息,而且会显示类似这样的错误消息:
“Error Number: ER_IB_MSG_807; Symbol: ER_IB_MSG_807; SQLSTATE: HY000 Error Message: Error: The InnoDB log files could not be created”
解决方法
此时,最佳的解决方法是检查日志目录下的ibo*文件(例如,ibrd-filename.log或ibtr-filename.log),确定它们是否存在并且具有正确的权限和模式。如果这些文件不存在,则可能应该为它们修改访问权限;myisam-recover可能也有助于恢复丢失的Innodb日志文件。另一种解决办法,如果上述方法尝试失败,则可以配置innodb_force_recovery参数,将其设置为1,2,3,4或6,并重启MySQL数据库。采用这些恢复参数可以检索服务器的损坏的数据库实例,并释放一些无效事务,导致Innodb日志总是新建失败。