MySQL Error number: 4085; Symbol: ER_CANNOT_PURGE_BINLOG_WITH_BACKUP_LOCK; SQLSTATE: HY000

文档解释

Error number: 4085; Symbol: ER_CANNOT_PURGE_BINLOG_WITH_BACKUP_LOCK; SQLSTATE: HY000

Message: Could not purge binary logs since another session is executing LOCK INSTANCE FOR BACKUP. Wait for that session to release the lock.

错误说明

ER_CANNOT_PURGE_BINLOG_WITH_BACKUP_LOCK错误是MySQL错误代码,其英文全称为:Error Number 4085: Cannot purge binary logs while the backup lock is set。该错误将被MySQL数据库服务器返回给用户,表明数据库系统内部出现了错误,无法删除该数据库上的二进制日志文件,尽管已设置了备份锁。

常见案例

该错误在MySQL中是致命错误,因此,该错误一旦发生,数据库服务器将会停止任何操作。一般情况下,该错误会在mysqldump命令行工具中引发,如果用户尝试删除数据库服务器上存放有备份文件,但是MySQL日志文件被备份锁锁住,MySQL就会报出这个错误。

解决方法

首先,可以在MySQL控制台确认是否备份锁未被释放。在MySQL控制台中可以使用show variables命令,检查参数 BACKUP_LOCK的值,如果它的值为ON,表明备份锁已被锁定;若为OFF,表明备份锁未被锁定。

如果备份锁没有被锁定,解决方法是使用flush logs命令释放所有的日志文件,然后使用purge binary logs命令来清理旧的日志文件。

另一方面,如果备份锁已被锁定,必须先解除锁定,然后才能释放日志文件。可以在MySQL控制台中使用reset master或者unlock tables命令释放备份锁,接着使用flush logs和purge binary logs结合使用,来清理旧的日志文件。

你可能感兴趣的