BACK和LOCK INSTANCE语句的锁定实例
LOCK INSTANCE FOR BACKUP UNLOCK INSTANCE
LOCK INSTANCE FOR BACKUP
获取实例级别的备份锁,该锁在联机备份期间允许DML,同时防止可能导致快照不一致的操作。
执行该LOCK INSTANCE FOR BACKUP
语句需要BACKUP_ADMIN
特权。当执行从早期版本到MySQL 8.0的就地升级时,该BACKUP_ADMIN
特权将自动授予具有该RELOAD
特权的用户。
多个会话可以同时持有备份锁。
UNLOCK INSTANCE
释放当前会话持有的备份锁。如果会话终止,则会话保留的备份锁也会释放。
LOCK INSTANCE FOR BACKUP
防止创建,重命名或删除文件。,和帐户管理对帐单被阻止。请参见“账户权限控制”。修改未记录在重做日志中的文件的操作也被阻止。REPAIR TABLE
TRUNCATE TABLE
OPTIMIZE TABLE
InnoDB
InnoDB
LOCK INSTANCE FOR BACKUP
允许仅影响用户创建的临时表的DDL操作。实际上,可以在持有备份锁的同时创建,重命名或删除属于用户创建的临时表的文件。也允许创建二进制日志文件。
由获取的备份锁LOCK INSTANCE FOR BACKUP
独立于事务锁和由采取的锁,并且允许以下语句序列:FLUSH TABLES tbl_name[,tbl_name]... WITH READ LOCK
LOCK INSTANCE FOR BACKUP ;FLUSH TABLES tbl_name [, tbl_name] ...WITH READ LOCK ;UNLOCK TABLES ;UNLOCK INSTANCE ;
FLUSH TABLES tbl_name [, tbl_name] ...WITH READ LOCK ;LOCK INSTANCE FOR BACKUP ;UNLOCK INSTANCE ;UNLOCK TABLES ;
该lock_wait_timeout
设置定义了LOCK INSTANCE FOR BACKUP
在放弃之前语句等待获取锁的时间。