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

相關文章
相關標籤/搜索