在DMS的SQL窗口中對數據庫進行變更操作時,可能由于誤更新、誤刪除、誤寫入等原因導致數據不符合預期。DMS的數據追蹤功能支持按需查找目標時間段內(數據庫Binlog保存時長內)的相關更新信息,并生成回滾腳本,幫助您快速將數據恢復到變更前。
前提條件
數據庫類型為MySQL,且MySQL為5.6及以上版本。
說明包含已接入DMS企業版統一管理的RDS MySQL、PolarDB MySQL版、ECS上自建、本地IDC自建或其他云廠商的MySQL數據庫。
數據庫已開啟Binlog。
已在DMS登錄目標數據庫。
說明自由操作和穩定變更的實例需要登錄。安全協同實例免登錄。
注意事項
自由操作實例僅支持追蹤30分鐘內進行的DML操作,且無法導出回滾、重建腳本。
穩定變更、安全協同實例:無時間限制,可批量下載回滾、重建腳本。
DMS可追蹤到的數據與目標數據庫實例的Binlog保留時長有關,若該數據的保存時間超過Binlog的保留時長,則獲取不到該部分數據。
若數據庫的Binlog未開啟或數據庫登錄狀態異常,系統將無法獲取日志文件。
數據追蹤功能僅支持追蹤DML數據變更的數據,不支持追蹤DDL結構變更的數據。
操作步驟
- 登錄數據管理DMS 5.0。
在頂部菜單欄中,選擇 。
說明若您使用的是極簡模式的控制臺,請單擊控制臺左上角的圖標,選擇
。在頁面右上角,單擊數據追蹤。
在數據追蹤工單申請頁面,配置如下信息:
參數名
說明
任務名稱
便于后續檢索,并提供給審批人員清晰的操作意圖。
庫名
指定庫實例上的某個具體數據庫(需要在DMS內有數據庫的操作權限,輸入庫名前綴后可出現聯想提示)。
表名
在指定的目標表中進行檢索,支持添加多張表。
追蹤類型
支持多選,可按需選中需要檢索的操作類型。
插入:插入類型的回滾語句為
INSERT
。更新:更新類型的回滾語句為
UPDATE
。刪除:刪除類型的回滾語句為
DELETE
。
時間范圍
選擇追蹤的時間范圍。
自由操作實例,僅支持追蹤30分鐘范圍內的數據。
穩定變更和安全協同實例不限制時間范圍,但一個數據追蹤工單最多可追蹤48小時的數據。若超過48小時可分段提交多次工單。
變更相關人
可按需選擇,非工單參與人和審批人,不可見工單詳情。
單擊提交申請,系統將獲取日志文件。
獲取日志文件后,系統會進入審批環節。
等待審批通過。
說明目前,系統默認數據追蹤工單的審批人為數據庫DBA。數據追蹤的審批規則信息,請參見數據追蹤。
審批通過后,系統會進行日志下載、日志解析等操作。
待下載、解析完成后,您可以從追蹤類型、表名、列名等維度篩選出您需要導出的回滾腳本。單擊導出回滾腳本,該腳本文件會下載至本地。
說明您可目標記錄右側的查看詳情按鈕,查看明細以及拷貝對應回滾語句。
追蹤類型有插入、更新、刪除。
相關操作
導出回滾腳本后,您可先對回滾SQL影響數據行進行大概評估,再選擇執行回滾SQL的方式:
若影響較小,您可在SQL窗口執行SQL。具體操作,請參見SQL Console初體驗。
若影響較大,您可提交普通數據變更工單將此回滾腳本作為附件上傳至工單中,執行至目標數據庫中。具體操作,請查看普通數據變更。
使用API進行數據追蹤。