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服务,应用任何编辑,并确保日志文件完好。