恢復到指定的時間點是指將數據庫恢復到過去某一個特定的時間點上的狀態。具體實現方式是在備份時記錄每個事務變化的時間點(也稱為 LSN),在恢復時指定需要恢復到的 LSN,然后進行還原。
操作場景
關系數據庫MySQL版支持使用已有的自動備份,恢復實例數據到指定時間點。實例恢復到指定時間點,會從備份空間中選擇一個該時間點最近的全量備份下載到實例上進行全量恢復,再重放增量備份到指定時間點,恢復時長和實例的數據量有關,恢復速率根據磁盤類型不同有所差異。
注意
由于恢復到時間點功能需要依賴最近的一個全量備份和Binlog日志文件,如若最近的全備失敗或者Binlog日志備份關閉,可能會影響恢復時間點功能,導致有一段時間恢復不到。
約束限制
請勿在實例的生命周期內執行"reset master"命令,以免造成恢復到指定時間點功能異常。
目前該功能僅Ⅱ類型資源池支持恢復到新實例,新實例將作為用戶新開通的實例收費。
如備份類型選擇了云硬盤,目標實例的VPC和數據庫版本需與原實例相同,否則會導致恢復失敗。如備份類型選擇對象存儲,VPC可以不同。
目標實例與原實例在表名大小寫的區分上需相同,否則會導致恢復失敗。
目標實例的存儲空間需大于原實例的存儲空間,否則會導致恢復失敗。建議新實例的存儲空間在原實例存儲空間基礎上增加30%以上。
操作步驟
在天翼云官網首頁的頂部菜單欄,選擇產品 > 數據庫 > 關系型數據庫 > 關系數據庫MySQL版,進入關系數據庫MySQL產品頁面。然后單擊管理控制臺,進入TeleDB數據庫概覽頁面。
在左側導航欄,選擇MySQL > 實例管理,進入實例列表頁面。然后在頂部菜單欄,選擇區域和項目。
在實例列表中,單擊目標實例名稱,進入基本信息頁面。
單擊備份恢復,進入基礎備份列表頁簽。
在備份文件列表上方,單擊實例恢復。
配置實例恢復參數,單擊提交。參數說明如下:
源實例:生成該備份數據的實例。
恢復策略:可選擇按時間點和按備份集恢復。
可還原時間點:當前實例的可恢復時間范圍。最早和最晚時間范圍由備份集和實時日志備份決定。
還原時間:用戶需要還原到的目的時間點。
恢復到:恢復的目標實例。
恢復到資源池:可以恢復到的資源池,如開啟了跨域備份,則恢復到新實例可支持恢復到異地資源池。
注意
恢復的目標實例可以為當前實例、已有實例、新實例。按時間點恢復將會覆蓋目標實例的數據,恢復到選擇的時間點,請您保證選擇恢復到的目標實例已無需使用,或提前妥善保存好目前實例的數據。
由于版本,規格等限制,恢復目標實例可能存在置灰情況,如已有實例置灰,說明當前資源池沒有可供本實例用來恢復的目標實例。請選擇新實例或者當前實例。
恢復成功后,登錄數據庫實例進行驗證。
恢復任務查看
當完成以上恢復操作,可以在任務列表查看相關任務狀態。
1.在天翼云官網首頁的頂部菜單欄,選擇產品 > 數據庫 > 關系型數據庫 > 關系數據庫MySQL版,進入關系數據庫MySQL產品頁面。然后單擊管理控制臺,進入概覽頁面。
2.在左側導航欄,選擇MySQL > 任務列表,進入任務列表頁面。然后在頂部菜單欄,選擇區域和項目。
3.可以搜索任務名稱:實例恢復或庫表恢復等恢復任務。
4.點擊任務名稱旁的感嘆號,可查看恢復任務和相關日志。
恢復實例Q&A
為何通過備份集不能恢復到當前實例?
可檢查當前實例的狀態是否正常,如果非運行中或異常,需要等待實例為運行中才可以進行恢復到當前實例。
為何不能恢復到已有實例?
可以從以下原因進行排查:可檢查目標實例的狀態是否正常。
目標實例版本與源實例的版本是否相同,且內核版本目標實例是否大于等于當前實例內核版本,因為高內核版本的實例無法恢復到低內核版本的實例。
目標實例與源實例的lower_case_table_names參數是否相同,該參數為區分表名大小寫參數,如果不同,也無法恢復。
目標實例實例與源實例若備份類型為云硬盤,則需要注意目標實例與源實例的VPC需要一致,若為對象存儲,則可以跨VPC恢復。
目標實例與源實例是否在同一個企業項目,不同企業項目無法恢復。
目標實例如果為帶只讀的MGR實例,也無法進行恢復。
源實例具備tde功能,但是目標實例不具備,也將無法進行恢復。