操作場景
為了保證數據的完整性,以及降低對原實例的性能影響,會進行庫表級時間點恢復。庫表級恢復是為選擇的某個庫表恢復到指定時間點。在進行庫表級時間點恢復備份時,會從OBS備份空間中選擇一個該時間點最近的全量備份下載至臨時實例上進行全量恢復,然后在臨時實例上重放Binlog到指定時間點,完成之后將對應表的數據回寫到原實例的目標表,恢復時長和實例的數據量有關,平均恢復速率為35MB/s。
由于需要對實例的所有數據進行備份及恢復操作,對于數據量較大的實例,所需時間較長,請耐心等待。通過庫表級時間點恢復備份,將不會導致實例數據被覆蓋,您可以根據需要恢復庫表。
使用限制
執行表級恢復時,請謹慎,避免因操作不當導致實例或業務異常。
表級恢復會臨時占用2個內網IP。
普通表級時間點恢復或極速表級時間點恢復帶外鍵的表,會將外鍵表的外鍵刪除,同時更改表結構。
表級時間點恢復,單個實例一次最多恢復2000張表。
庫級時間點恢復,單個實例一次最多恢復1000個庫,一次最多恢復20000張表。
批量恢復多個實例的庫表數據,必須選擇同版本RDS for MySQL實例,且實例狀態必須為“正常”。
RDS for MySQL庫表級時間點恢復期間不允許主備實例和只讀實例做規格變更,重啟,刪除等操作。
進行庫表級時間點恢復時,要恢復的庫、表信息是在所選時間點前最新一次全量備份中讀取的。由于所選時間點可以是恢復時間區間內的任意時間點,所以庫表級時間點恢復支持恢復到存在指定庫、表信息的最早的一次全量備份時間點。
如果選擇恢復的時間點不存在該表,則該表不會被恢復。
表級時間點恢復,不支持恢復視圖。建議先恢復出視圖所涉及的表,然后重新創建視圖。
庫級時間點恢復,只恢復庫里面的表數據。恢復出來的新庫,不包含視圖。
如果數據庫實例超過2萬張表,出于性能考慮,服務不會采集歷史時間點的庫表元數據信息,會從當前實例查找庫表信息進行恢復。如果界面沒有顯示目標庫表,而用戶確認指定時間的庫表存在,用戶可以自行創建同名的空庫表再進行庫表恢復。
庫級恢復中,原庫下的表名不能有特殊字符 . 或中文,否則可能導致恢復任務失敗。
前提條件
由于該操作會在源實例上新生成恢復后的庫表,請確保您的源實例磁盤空間充足。
操作步驟
步驟 1 登錄管理控制臺。
步驟 2 單擊管理控制臺左上角的 ,選擇區域。
步驟 3 選擇“數據庫 > 關系型數據庫”。進入關系型數據庫信息頁面。
步驟 4 在“實例管理”頁面,選擇目標實例,單擊實例名稱,進入實例的“基本信息”頁簽。
步驟 5 在左側導航欄,選擇“備份恢復”,單擊“庫表時間點恢復”。
步驟 6 填選恢復信息,單擊“下一步:確認恢復信息”。
為了方便您操作,所需恢復的數據庫和表名支持搜索。
系統會自動生成以時間戳為后綴的庫表名,如果需要,您也可以自定義恢復后的庫表名。
表名不能重復且滿足:名稱長度在1~64個字符之間,只能包含字母、數字、下劃線、中劃線或$,不能包含其他特殊字符并且不能與同庫下的表名重名。
不支持含json虛擬列的庫表進行庫級和表級時間點恢復。
庫級恢復過程中庫中包含的冷表不會恢復;表級恢復不支持冷表恢復。
庫級時間點恢復過程中,如果創建同名庫,可能會導致新創建庫被覆蓋,造成數據丟失。
表級時間點恢復過程中,如果創建同名表,可能會導致新創建表被覆蓋,造成數據丟失。
步驟 7 信息確認無誤后,單擊“立即恢復”。
步驟 8 在“實例管理”頁面,可查看該實例狀態為“恢復中”,恢復過程中該實例業務不中斷。
同時,您可在“任務中心”頁面,查看庫表時間點恢復任務的執行進度及結果。
恢復成功后,您可根據實際情況對庫表進行數據處理。
----結束
說明
恢復時長和實例的整體數據量有關,平均速度約為35MB/s。
通過庫表時間點恢復備份,不會影響新增數據。恢復出來是一個帶有時間戳后綴的臨時庫表,用戶可以根據實際情況對這個臨時庫表的數據進行處理。