Error number: MY-013910; Symbol: ER_BINLOG_CRASH_RECOVERY_ERROR_RETURNED_SE; SQLSTATE: HY000
Message: Storage engines failed to recover one or more transactions. The recovery process was stopped early, check previous messages for the details on failed transactions. Side effects may be transactions in an inconsistent state between the binary log and the storage engines, or transactions kept by storage engines in a prepared state (possibly holding locks). Either fix the issues with the storage engine (out-of-memory, no disk space, etc) or, to release possibly acquired locks held by XA transactions, disable the binary log during server recovery and check consistency between storage engines and binary log files.
错误说明
MY-013910 (ER_BINLOG_CRASH_RECOVERY_ERROR_RETURNED_SE)是MySQL的一个错误,它是在重新启动恢复期间截断MySQL 二进制日志时发生的一个致命的错误。 其中,ER_BINLOG_CRASH_RECOVERY_ERROR_RETURNED_SE是MySQL的一个内部错误代码,SQLSTATE(HY000)表示发生了一个系统级错误。
常见案例
当MySQL尝试恢复二进制日志中之前发生的任何改变时,就可能会出现这个错误。 此错误可能是由于硬件故障,损坏的磁盘子系统,以及某些特殊情况(如程序死锁)引起的系统错误。 例如,当MySQL遇到损坏的日志文件时,可能会发生类似的错误。
解决方法
在遇到几乎任何错误时,最佳的解决方案都是一样的:重建数据库。 在MySQL中,错误MY-013910的一个有效的解决方案是尝试创建一个新的二进制日志文件,或者在确保没有受到损害的情况下尝试恢复包含有效日志文件的现有日志文件夹。 如果日志文件受到损坏,可以尝试添加一个新的二进制日志文件,并将MySQL配置文件中的binlog_file参数设置为新创建的文件。
此外,可以检查MySQL配置文件中的server_id参数是否正确配置,以及MySQL实例是否正确配置为开启二进制日志文件,以及所需的日志文件大小。 最后,如果所有这些都没有帮助,可以尝试重新安装MySQL,或者尝试禁用重建,重新启动MySQL,或者使用恢复工具进行恢复。 还可以检查MySQL日志并重建Index索引以及根据自己的需要重建数据库并检查日志中出现的其他失败因素。