MySQL的SQL语句事务性语句和锁定语句(4)LOCK INSTANCEFORBACKUP 等语句

LOCK INSTANCE FOR BACKUP 和 UNLOCK INSTANCE 语句html

1. LOCK INSTANCE FOR BACKUP
2. 
3. UNLOCK INSTANCE

LOCK INSTANCE FOR BACKUP 获取实例级备份锁,该锁容许在联机备份期间使用 DML 语句,同时防止可能致使快照不一致的操做。mysql

执行 LOCK INSTANCE FOR BACKUP 语句须要 BACKUP_ADMIN 权限。在执行从早期版本到 MySQL 8.0 的就地升级时,具备 RELOAD 权限的用户将自动得到 BACKUP_ADMIN 权限。sql

多个会话能够同时持有一个备份锁。ide

UNLOCK INSTANCE 释放当前会话持有的备份锁。若是会话被终止,会话持有的备份锁也会被释放。日志

LOCK INSTANCE FOR BACKUP 可防止建立、重命名或删除文件。会阻止 REPAIR TABLE TRUNCATE TABLE, OPTIMIZE TABLE 和帐户管理语句。没有记录在 InnoDB redo 日志中的修改 InnoDB 文件的操做也会被阻止。code

LOCK INSTANCE FOR BACKUP 容许只影响用户建立的临时表的 DDL 操做。实际上,当持有备份锁时,能够建立、重命名或删除属于用户建立的临时表的文件。也容许建立二进制日志文件。htm

LOCK INSTANCE FOR BACKUP 获取的备份锁独立于事务性锁和 FLUSH TABLES tbl_name [, tbl_name] ... WITH READ LOCK 得到的锁,而且容许如下语句序列:事务

1. LOCK INSTANCE FOR BACKUP;
2. FLUSH TABLES tbl_name [, tbl_name] ... WITH READ LOCK;
3. UNLOCK TABLES;
4. UNLOCK INSTANCE;
1. FLUSH TABLES tbl_name [, tbl_name] ... WITH READ LOCK;
2. LOCK INSTANCE FOR BACKUP;
3. UNLOCK INSTANCE;
4. UNLOCK TABLES;

lock_wait_timeout 设置定义 LOCK INSTANCE FOR BACKUP 语句在放弃以前等待获取锁的时间。get

官方网址:
https://dev.mysql.com/doc/refman/8.0/en/lock-instance-for-backup.htmlit

相关文章
相关标签/搜索