欢迎光临
我们一直在努力

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

文档解释

Error number: MY-010809; Symbol: ER_BINLOG_FILE_BEING_READ_NOT_PURGED; SQLSTATE: HY000

Message: file %s was not purged because it was being read by thread number %u

错误说明

MY-010809; ER_BINLOG_FILE_BEING_READ_NOT_PURGED; 异常是指在MySQL中执行PURGE BINARY LOGS命令时,MySQL错误提示“一个正在被复制的 binlog 日志文件不允许被清理”。即正在被应用程序正在读取的binlog日志文件不能进行清理操作。

常见案例

正在被应用程序正在读取的binlog日志文件不能进行清理操作。这种案例经常在MySQL复制环境中发生,因为使用Purge Binary Logs命令清理binlog日志文件会影响复制的运行,因为slave节点可能正在读取或者复制相关的binlog日志文件,这就可能包含在清理操作中。

解决方法

首先,您可以分析复制延迟,确定复制是否处于开放状态,因此在清理binlog日志文件之前,您应该确认它不会影响复制过程。

其次,您可以尝试使用命令“STOP SLAVE IO_THREAD”,如果无法停止复制进程,您可以停止MySQL实例,然后删除binlog日志文件,最后再重新启动MySQL实例,以清理已锁定的binlog日志文件的文件。

最后,您可以使用innodb_forced_recovery参数将innodb设置为上锁状态,然后在slave端重新启动复制和purge操作,以清理binlog日志文件。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。