在使用Data Management的無鎖結構變更功能前,您需要先為目標執行個體開啟無鎖結構變更。本文介紹開啟無鎖結構變更的方法。
前提條件
操作步驟
在控制台首頁的資料庫執行個體列表,按右鍵目標執行個體,選擇開啟無鎖結構變更。
說明您也可以在頂部功能表列中,選擇,在執行個體列表頁簽下,單擊目標執行個體右側的,通過編輯執行個體的進階資訊來開啟無鎖結構變更。
變更方式說明:
選項
執行說明
備忘
DMS無鎖變更執行
直接使用DMS自研的DDL無鎖變更執行,以保障不鎖表。
說明如下情況無法通過DMS無鎖變更執行,會自動降為原生無鎖執行,若DMS檢測到原生無鎖執行會鎖表或報錯,則任務執行失敗。
目標表為空白表。執行空表無風險,選擇原生執行速度會更快。
SQL語句涉及增加唯一約束(UK)。由於DMS無鎖結構變更的原理限制,不支援增加UK。
執行時間相對MySQL原生OnlineDDL會慢一些,但不影響複製行為,產生延遲的機率較低。
原生無鎖優先,失敗轉DMS執行
優先嘗試使用資料庫原生OnlineDDL無鎖執行,如果DMS檢測到原生執行會鎖表或失敗,則自動轉用DMS自研的DDL無鎖變更引擎執行,以保障不鎖表。
執行時間相對比較快,但有可能導致執行個體的並行複製降為串列複製,從而可能產生主備延遲現象。
關閉
原生語句下發給MySQL執行,不進行任何處理。
無
在修改無鎖結構變更對話方塊中,單擊確認。
執行個體開啟無鎖結構變更後,您可以通過無鎖變更工單實現無鎖結構變更。
關閉無鎖結構變更
如需關閉無鎖結構變更,操作入口與開啟一致:
在控制台首頁的資料庫執行個體列表,按右鍵目標執行個體,選擇無鎖結構變更> 關閉。
說明您也可以在頂部功能表列中,選擇,在執行個體列表頁簽下,單擊目標執行個體右側的,然後在進階資訊地區關閉無鎖結構變更。
在修改無鎖結構變更對話方塊中,選擇關閉,然後單擊確認。
關閉後的影響:
執行機制:關閉後,DMS 將直接使用原生 DDL 執行結構變更,是否鎖表取決於資料庫自身對 Online DDL 的支援情況。若資料庫支援 Online DDL,僅短暫持有中繼資料鎖;若不支援,則會長時間鎖表。
操作安全性:關閉或重新開啟該選項無需重啟執行個體,不影響執行個體狀態或資料。
影響範圍:該設定僅作用於通過 DMS 發起的結構變更工單,不影響其他用戶端直接執行的 DDL 語句。
相關操作
執行個體開啟無鎖結構變更後,您在該執行個體中執行以下類型的工單,都會優先採用無鎖結構變更的方式。
常見問題
關閉再開啟 DMS 無鎖結構變更是否有影響?
不會有影響。關閉再開啟無鎖結構變更選項不會影響執行個體狀態或資料,無需重啟執行個體,無資料風險。關閉期間,DMS 將使用原生 DDL 執行結構變更;重新開啟後,即可恢複 DMS 無鎖變更能力。