從零開始完成無鎖結(jié)構(gòu)變更
數(shù)據(jù)管理DMS的無鎖結(jié)構(gòu)變更功能可以較好地規(guī)避因鎖表而導(dǎo)致的業(yè)務(wù)阻塞,以及數(shù)據(jù)庫原生OnlineDDL帶來的主備延遲問題。本文以云數(shù)據(jù)庫RDS MySQL舉例,引導(dǎo)您快速使用DMS完成無鎖結(jié)構(gòu)變更。
新增實例并開啟無鎖結(jié)構(gòu)變更
- 登錄數(shù)據(jù)管理DMS 5.0。
單擊頁面左側(cè)導(dǎo)航欄的。
說明若您使用的是極簡模式控制臺,請先單擊頁面左側(cè)的數(shù)據(jù)庫實例,再單擊。
在新增實例對話框中,配置如下信息:
選擇阿里云頁簽下的MySQL。
配置基本信息與高級信息。詳細信息,請參見云數(shù)據(jù)庫錄入。
類別
配置項
說明
數(shù)據(jù)來源
-
選擇阿里云。
基本信息
數(shù)據(jù)庫類型
選擇數(shù)據(jù)庫實例的類型。
實例地區(qū)
選擇數(shù)據(jù)庫實例所在的地域。
其他主賬號
若您選擇跨阿里云賬號實例,則會出現(xiàn)該配置項。選擇數(shù)據(jù)庫實例所屬的主賬號。
說明如果主賬號不在選擇列表中,您可以單擊添加用戶,添加數(shù)據(jù)庫實例購買者的主賬號。具體操作,請參見添加用戶。
錄入方式
選擇數(shù)據(jù)庫實例的錄入方式。支持實例ID或連接串地址兩種錄入方式。
實例ID或連接串地址
輸入實例ID或連接串地址。
說明連接串地址的組成形式為內(nèi)網(wǎng)地址+內(nèi)網(wǎng)端口。以RDS MySQL舉例,rm-XXXXXXX.mysql.rds.aliyuncs.com:3306。
數(shù)據(jù)庫賬號
輸入需要登錄的數(shù)據(jù)庫賬號。
說明DMS將通過該賬號對數(shù)據(jù)進行讀、寫或其他操作,請?zhí)峁┚哂邢嚓P(guān)權(quán)限的賬號。
數(shù)據(jù)庫密碼
輸入數(shù)據(jù)庫賬號對應(yīng)的密碼。
管控模式
選擇數(shù)據(jù)庫的管控模式,詳情請參見管控模式。
敏感數(shù)據(jù)保護
此功能可以實現(xiàn)對敏感數(shù)據(jù)進行管控和脫敏,根據(jù)您的業(yè)務(wù)需求選擇是否開啟此功能。詳細信息,請參見開通敏感數(shù)據(jù)保護。
分類分級模板
若開啟敏感數(shù)據(jù)保護,才會出現(xiàn)分類分級模板的配置項。
可通過給實例綁定分類分級模板,識別實例中庫表的字段是否符合模板內(nèi)的識別規(guī)則,若符合,則給字段打上分類分級的標簽,保護敏感等級高的字段。詳細信息,請參見管理分類分級模板。
高級信息
環(huán)境類型
選擇數(shù)據(jù)庫環(huán)境的類型。實例環(huán)境類型的詳細信息,請參見實例環(huán)境類型。
實例名稱
自定義實例在DMS中顯示的名稱。
說明在第一次錄入云數(shù)據(jù)庫時,DMS系統(tǒng)會同步云數(shù)據(jù)庫側(cè)的名稱。后續(xù)不再進行同步,您可以通過編輯實例來維護實例名稱。具體操作,請參見編輯實例。
開啟DBLink
選擇是否開啟DBLink,詳情請參見邏輯數(shù)倉。
無鎖結(jié)構(gòu)變更
選擇是否開啟無鎖結(jié)構(gòu)變更功能,支持DMS無鎖變更執(zhí)行和原生無鎖優(yōu)先,失敗轉(zhuǎn)DMS執(zhí)行兩種執(zhí)行變更的方式。執(zhí)行方式的詳細信息,請參見開啟無鎖結(jié)構(gòu)變更。
說明該配置項僅在數(shù)據(jù)庫為MySQL時出現(xiàn)。
開啟SSL
選擇是否開啟SSL連接,開啟后,DMS將通過SSL連接至數(shù)據(jù)庫。
SSL(Secure Sockets Layer)能在傳輸層對網(wǎng)絡(luò)連接進行加密,提升通信數(shù)據(jù)的安全性和完整性,但會增加網(wǎng)絡(luò)連接響應(yīng)時間。
使用該參數(shù)的前提是數(shù)據(jù)庫已開啟SSL連接,當前支持如下選項:
默認(DMS與數(shù)據(jù)庫服務(wù)自動協(xié)商是否開啟):系統(tǒng)將自動識別目標數(shù)據(jù)庫是否已開啟SSL連接,若數(shù)據(jù)庫已開啟SSL連接,則DMS將通過SSL連接數(shù)據(jù)庫;若數(shù)據(jù)庫未開啟SSL連接,則通過普通方式進行連接。
開啟:開啟SSL連接。若數(shù)據(jù)庫未開啟SSL連接,則該參數(shù)無效。
關(guān)閉:不使用SSL連接。
說明該配置項僅在數(shù)據(jù)庫為MySQL或Redis時出現(xiàn)。
實例DBA
選擇一個DBA角色進行后續(xù)權(quán)限申請等流程。
查詢超時時間(s)
設(shè)定安全策略,當達到設(shè)定的時間后,SQL窗口執(zhí)行的查詢語句會中斷,以保護數(shù)據(jù)庫安全。
導(dǎo)出超時時間(s)
設(shè)定安全策略,當達到設(shè)定的時間后,SQL窗口執(zhí)行的導(dǎo)出語句會中斷,以保護數(shù)據(jù)庫安全。
信息配置完成后,在基本信息頁面中,單擊頁面左下角的測試連接,等待測試通過。
說明如果測試連接失敗,請按照報錯提示檢查并修改您的配置信息。
連接成功后,單擊提交。
無鎖結(jié)構(gòu)變更
- 登錄數(shù)據(jù)管理DMS 5.0。
在頂部菜單欄中,選擇 。
說明若您使用的是極簡模式的控制臺,請單擊控制臺左上角的圖標,選擇
。配置無鎖變更工單。如下表格僅對部分重要參數(shù)進行說明,其他參數(shù)的信息,請參見DML無鎖變更。
參數(shù)名
說明
數(shù)據(jù)庫
搜索并選擇目標數(shù)據(jù)庫,支持選擇多個目標數(shù)據(jù)庫。
有權(quán)限:只能搜索并選擇有變更權(quán)限的數(shù)據(jù)庫。
全部:可以搜索并選擇所有的數(shù)據(jù)庫(除開啟元數(shù)據(jù)訪問控制的數(shù)據(jù)庫)。
說明如果您沒有目標數(shù)據(jù)庫的變更權(quán)限,請在頂部菜單欄中選擇
,單擊 ,在權(quán)限申請工單頁面申請您需要的權(quán)限。
變更SQL
輸入DDL(Data Definition Language),例如
ALTER TABLE
、OPTIMIZE
。說明如果您輸入的是DML(Data Manipulation Language),則您進行的是無鎖數(shù)據(jù)變更任務(wù)。更多信息,請參見DML無鎖變更。
單擊提交申請。
系統(tǒng)將自動進行SQL預(yù)檢查。如果預(yù)檢查失敗,您可以根據(jù)失敗原因,單擊修改SQL,修改SQL后重試。
等待審批通過后,在工單詳情頁的執(zhí)行區(qū)域,單擊執(zhí)行變更。
配置任務(wù)執(zhí)行參數(shù)。
配置項
說明
執(zhí)行策略
立即執(zhí)行:系統(tǒng)默認,單擊確認執(zhí)行后立即執(zhí)行工單任務(wù)。
定時執(zhí)行:選擇任務(wù)開始執(zhí)行時間。單擊確認執(zhí)行后,在指定的時間執(zhí)行該任務(wù)。
指定結(jié)束時間
開啟:選擇任務(wù)結(jié)束時間。如果任務(wù)在指定結(jié)束時間之前沒有執(zhí)行完畢,則系統(tǒng)將不再繼續(xù)執(zhí)行未完成的SQL任務(wù),防止高峰期執(zhí)行任務(wù),影響業(yè)務(wù)運作。
關(guān)閉:系統(tǒng)默認。
單擊確定執(zhí)行。
說明已暫停的任務(wù),重啟后,會重新開始執(zhí)行任務(wù)。
您可以在執(zhí)行區(qū)域,查看任務(wù)執(zhí)行狀態(tài)、任務(wù)的執(zhí)行配置、調(diào)度日志等信息。
您還可以在查看無鎖變更進度。
,查看無鎖結(jié)構(gòu)變更任務(wù)進度。具體操作,請參見
相關(guān)操作
在DMS的任務(wù)管理中查看變更任務(wù)的進展。具體操作,請參見任務(wù)管理。
在已開啟無鎖結(jié)構(gòu)變更的情況下,普通數(shù)據(jù)變更也可實現(xiàn)不鎖表變更。具體操作,請參見普通數(shù)據(jù)變更。