MySQL Error number: MY-010839; Symbol: ER_BINLOG_PURGE_LOGS_CALLED_WITH_FILE_NOT_IN_INDEX; SQLSTATE: HY000 报错 故障修复 远程处理

文档解释

Error number: MY-010839; Symbol: ER_BINLOG_PURGE_LOGS_CALLED_WITH_FILE_NOT_IN_INDEX; SQLSTATE: HY000

Message: MYSQL_BIN_LOG::purge_logs was called with file %s not listed in the index.

error MY-010839 是MySQL数据库中一个常见的报错,其状态值是HY000,名称为ER_BINLOG_PURGE_LOGS_CALLED_WITH_FILE_NOT_IN_INDEX。

错误说明:

这个错误指出,MySQL数据库在尝试来清理binlog文件(也就是参数binlog中指定的日志文件)时,却发现这个文件并不在binlog的index文件里。原因可能是MySQL的binlog溢出(index文件记录的日志文件超过Max_binlog_files),此时需要用PURGE BINARY LOGS配合参数binlog和index才可完成清理任务。

常见案例

当管理者错误地在binlog文件里指定了一个不在该文件索引里的日志文件时,该错误会出现。比如,管理者可能会在尝试清理已经被删除的日志文件时出错,或者在管理员不小心另外请求清理某一条binlog记录,而这个binlog记录已经不存在了,那么这时该错误就会报出来。

解决方法:

该错误的解决方法,需要根据具体的状况来判断,比如,管理者可以检查MySQL的binlog日志文件,看看它是否溢出,溢出了就需要用PURGE BINARY LOGS配合参数binlog和index才可完成清理任务。此外,管理者还可以检查该binlog文件是否已经更新,或者是否在该binlog索引里。如果发现它已经被删除,可以重载索引,然后再重新运行PURGE BINARY LOGS语句,来清理其他已有的binlog日志。


数据运维技术 » MySQL Error number: MY-010839; Symbol: ER_BINLOG_PURGE_LOGS_CALLED_WITH_FILE_NOT_IN_INDEX; SQLSTATE: HY000 报错 故障修复 远程处理