MySQL:8028新加入的LOCK INSTANCE报错

最近在进行purge binary logs的时候遇到一个错误如下,

  • ERROR 4085 (HY000): Could not purge binary logs since another session is executing LOCK INSTANCE FOR BACKUP. Wait for that session to release the lock.

当然这个错误提示非常明显,就是在某个session执行了LOCK INSTANCE FOR BACKUP的情况下,不允许进行purge binary logs 命令,但是这个错误视乎没有遇到过,是不是8028新加入的报错呢?

一、什么是LOCK INSTANCE FOR BACKUP

在文章<>一文中我们详细描述过他的作用,以及其实现方式,如下。 这个操作主要堵塞的是DDL操作,包含不限于如下一些常见的操作:

CREATE_TABLE、CREATE_INDEX、ALTER_TABLE、TRUNCATE、DROP_TABLE、LOAD、CREATE_DB 、DROP_DB、ALTER_DB、RENAME_TABLE、DROP_INDEX、CREATE_VIEW、DROP_VIEW、CREATE_TRIGGER、DROP_TRIGGER、CREATE_EVENT、ALTER_EVENT、DROP_EVENT、IMPORT、RENAME_USER、DROP_USER、ALTER_USER、GRANT、REVOKE、GRANT_ROLE、REVOKE_ROLE、DROP_ROLE、CREATE_ROLE、OPTIMIZE、CREATE_FUNCTION、CREATE_PROCEDURE、DROP_PROCEDUR、DROP_FUNCTION、ALTER_PROCEDURE、ALTER_FUNCTION、REPAIR、ANALYZE、ALTER_TABLESPACE