Error number: MY-013895; Symbol: ER_IB_MSG_LOG_FILE_FORMAT_TOO_OLD; SQLSTATE: HY000
Message: Found redo log file %s which has format (v%lu) and is stored inside #innodb_redo.
MySQL错误ER_IB_MSG_LOG_FILE_FORMAT_TOO_OLD(MY-013895)为MySQL服务器 sqlstate HY000之读取日志文件格式错误,其相应的SQL报错信息为:
“The wrong log file format was detected. The message log file is too old. Only log files created by this version can be used.”
当在磁盘上发现某个MySQL服务器上存在旧版本的日志格式,并且其版本不能兼容当前MySQL服务器版本时,就会出现这个错误。
常见案例
1. 当更新了MySQL服务器的版本,而源文件存在的是老的格式的,此时会出现ER_IB_MSG_LOG_FILE_FORMAT_TOO_OLD错误。
2. 已经存在的MySQL服务器会有记录以前版本操作的旧日志文件,当企图来读取这些文件时,也会出现ER_IB_MSG_LOG_FILE_FORMAT_TOO_OLD错误。
解决方法
1. 如果存在的是旧版本源文件,此时应该先将旧的源文件手动删除,或者else对旧的源文件进行格式转换,直至保持当前MySQL服务器的版本号。
2. 如果有可以恢复的备份,此时可以把备份还原至当前MySQL服务器的版本,这样可以较大的降低出现ER_IB_MSG_LOG_FILE_FORMAT_TOO_OLD错误的可能性。未来出现ER_IB_MSG_LOG_FILE_FORMAT_TOO_OLD错误时也可以用备份进行恢复。