文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  LOCK INSTANCE FOR BACKUP 和 UNLOCK INSTANCE 語句

15.3.5 LOCK INSTANCE FOR BACKUP 和 UNLOCK INSTANCE 語句

LOCK INSTANCE FOR BACKUP

UNLOCK INSTANCE

LOCK INSTANCE FOR BACKUP 會取得執行個體層級的備份鎖定,允許在線上備份期間執行 DML,同時防止可能導致快照不一致的操作。

執行 LOCK INSTANCE FOR BACKUP 陳述式需要 BACKUP_ADMIN 權限。從較早版本就地升級到 MySQL 8.4 時,擁有 RELOAD 權限的使用者會自動被授予 BACKUP_ADMIN 權限。

多個工作階段可以同時持有備份鎖定。

UNLOCK INSTANCE 會釋放目前工作階段持有的備份鎖定。如果工作階段終止,該工作階段持有的備份鎖定也會被釋放。

LOCK INSTANCE FOR BACKUP 會防止檔案被建立、重新命名或移除。REPAIR TABLETRUNCATE TABLEOPTIMIZE TABLE 和帳戶管理陳述式都會被封鎖。請參閱第 15.7.1 節,「帳戶管理陳述式」。修改未記錄在 InnoDB 重做日誌中的 InnoDB 檔案的操作也會被封鎖。

LOCK INSTANCE FOR BACKUP 允許僅影響使用者建立的暫時資料表的 DDL 操作。實際上,當持有備份鎖定時,屬於使用者建立的暫時資料表的檔案可以被建立、重新命名或移除。也允許建立二進位日誌檔案。

當執行個體正在使用 LOCK INSTANCE FOR BACKUP 陳述式時,無法發出 PURGE BINARY LOGS,因為這會違反備份鎖定的規則,從伺服器中移除檔案。

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 陳述式在放棄之前等待取得鎖定的時間量。