在對資料庫進行變更操作時,可能因誤更新、誤刪除或誤寫入等操作導致資料異常。此時,您可通過DMS的資料追蹤功能,在Binlog儲存時間長度內定位目標時間段的變更記錄,並產生復原指令碼,快速恢複資料至變更前狀態。相比恢複全量資料和恢複庫表,DMS資料追蹤更加高效便捷,可顯著提升日常營運中資料恢複的效率。
更多資料恢複方案,請參見資料恢複方案概覽。
資料追蹤與其他恢複方案的區別
恢複方案 | 恢複原理 | 費用 | 恢複速度 | 恢複範圍 |
資料追蹤 | 按需追蹤到目標時間段內的相關更新,匯總產生逆向的復原語句,並通過資料變更工單最終執行到資料庫中完成資料的恢複。 |
| 快 | 取決於管控模式和Binlog日誌保留時間長度。
|
支援常規和極速層級的庫表恢複速率,可以恢複指定庫表到新執行個體或已有執行個體,恢複到已有執行個體會觸發主備切換。 |
| 極速:快 常規:慢 | 取決於開啟庫表備份的時間點和記錄備份保留時間,記錄備份保留時間最大730天。 | |
恢複全量資料到新執行個體,驗證資料後,再將資料遷回原執行個體、其他執行個體或本機資料庫。 | 慢 | 取決於記錄備份和資料備份保留時間長度,最大730天。 |
前提條件
資料庫類型為MySQL,且MySQL為5.6及以上版本。
資料庫已開啟Binlog。
已在DMS登入目標資料庫。
說明自由操作和穩定變更的執行個體需要登入。安全協同執行個體免登入。
注意事項
自由操作執行個體僅支援追蹤30分鐘內進行的DML操作,且無法匯出復原、重建指令碼。
穩定變更、安全協同執行個體:無時間限制,可批量下載復原、重建指令碼。
DMS可追蹤到的資料與目標資料庫執行個體的Binlog保留時間長度有關,若該資料的儲存時間超過Binlog的保留時間長度,則擷取不到該部分資料。
若資料庫的Binlog未開啟或資料庫登入狀態異常,系統將無法擷取記錄檔。
資料追蹤功能僅支援追蹤DML資料變更的資料,不支援追蹤DDL結構變更的資料。
操作步驟
- 登入Data Management 5.0。
單擊控制台左上方的
表徵圖,選擇。說明若您使用的是非極簡模式的控制台,在頂部功能表列中,選擇。
在頁面右上方,單擊資料追蹤。
在數據追蹤工單申請頁面,配置如下資訊:
參數名
說明
任務名稱
便於後續檢索,並提供給審批人員清晰的操作意圖。
庫名
指定庫執行個體上的某個具體資料庫(需要在DMS內有資料庫的操作許可權,輸入庫名首碼後可出現聯想提示)。
表名
在指定的目標表中進行檢索,支援添加多張表。
追蹤類型
支援多選,可按需選中需要檢索的操作類型。
插入:插入類型的復原語句為
INSERT。更新:更新類型的復原語句為
UPDATE。刪除:刪除類型的復原語句為
DELETE。
時間範圍
選擇追蹤的時間範圍。
自由操作執行個體,僅支援追蹤30分鐘範圍內的資料。
穩定變更和安全協同執行個體不限制時間範圍,但一個資料追蹤工單最多可追蹤48小時的資料。若超過48小時可分段提交多次工單。
變更相關人
可按需選擇,非工單參與人和審批人,不可見工單詳情。
單擊提交申請,系統將擷取記錄檔。
擷取記錄檔後,系統會進入審批環節。
等待審批通過。
說明目前,系統預設資料追蹤工單的審批人為資料庫DBA。資料追蹤的審批規則資訊,請參見資料追蹤。
審批通過後,系統會進行日誌下載、日誌解析等操作。
待下載、解析完成後,您可以從追蹤類型、表名、列名等維度篩選出您需要匯出的復原指令碼。單擊導出回滾腳本,該指令檔會下載至本地。
說明您可目標記錄右側的查看詳情按鈕,查看明細以及拷貝對應復原語句。
追蹤類型有插入、更新、刪除。
下一步:復原SQL
匯出復原指令碼後,您可先對復原SQL影響資料行進行大概評估,再選擇執行復原SQL的方式:
若影響較小,您可在SQL視窗執行SQL。
若影響較大,您可提交普通資料變更工單將此復原指令碼作為附件上傳至工單中,執行至目標資料庫中,請參見普通資料變更。
相關API
使用API進行資料追蹤: