MySQL Error number: MY-013896; Symbol: ER_IB_MSG_LOG_FILE_DIFFERENT_FORMATS; SQLSTATE: HY000

文档解释

Error number: MY-013896; Symbol: ER_IB_MSG_LOG_FILE_DIFFERENT_FORMATS; SQLSTATE: HY000

Message: Found redo log files with different formats: %s has format v%lu, %s has format v%lu.

错误说明

MY-013896,Symbol: ER_IB_MSG_LOG_FILE_DIFFERENT_FORMATS 是InnoDB存储引擎出现的一个错误,在MySQL(5.5.5或以上版本)中发生时,会得到SQLSTATE: HY000 的错误码。

常见案例

此错误通常发生在MySQL尝试从InnoDB的归档日志文件中恢复事务之后,eg.在失败重启时。此时,MySQL将尝试从归档文件中恢复的事务,但是归档日志文件的格式与正在正在使用的日志文件格式不匹配。

解决方法

首先,要确保原先的归档日志文件格式为Antelope,默认格式为Baracuda。另外,你需要设置innodb_file_format_check = OFF,然后再尝试重新启动服务。

另一种解决方法是手动清理掉所有日志文件,并确保新创建的日志文件副本的完整性。这可以通过重新启动MySQL服务的mysql安装目录的ibdata1文件来完成。

此外,如果你已经从归档日志文件中导入了正确的数据,你可以尝试运行清理拼写错误字段(比如是否拼写错误)。这可以通过运行myisamchk命令,或者使用CHECK TABLE管理注入语句,来完成。

最后,尝试重新建立归档日志,并将其设置为必要格式(Antelope),然后再重新启动MySQL服务,应用任何编辑,并确保日志文件完好。

你可能感兴趣的