全局鎖是數據庫管理系統中的一種特殊鎖機制,用于對整個數據庫實例進行加鎖,使數據庫處于只讀狀態,阻止所有數據更新(DML)、數據定義(DDL)及更新類事務提交等操作。
其核心應用場景包括:
- ?全庫邏輯備份?
通過鎖定數據庫實例確保備份期間數據一致性,防止寫入操作導致備份數據不一致,適用于不支持MVCC機制的存儲引擎(如MyISAM)。 - ?數據庫遷移或復制?
在數據遷移或主從復制過程中,全局鎖可保持源數據庫和目標數據庫的數據一致性,避免遷移期間的數據變更干擾。 - ?數據庫結構變更?
執行全局性結構操作(如批量修改表結構、索引調整)時,防止其他會話并發操作引發沖突。
注:InnoDB引擎可通過事務快照實現無鎖備份(如mysqldump --single-transaction),此時無需全局鎖。