RDS MySQL支持常規和極速級別的庫表恢復功能,您可以將指定的庫、表按備份集或時間點恢復至原實例或新實例,無需恢復全部數據,可用于誤操作后的快速訂正,以及分析歷史數據等場景。
庫表恢復模式的區別
庫表恢復速度有常規、極速級別,極速庫表恢復通過性能型沙箱實例實現,在相同的數據量下,極速庫表恢復相較常規庫表恢復提升了約50%~95%的恢復速度;如何開啟極速庫表恢復,請參見開啟極速庫表恢復。
對比項 | 常規庫表恢復 | 極速庫表恢復 |
恢復范圍 | 恢復實例中指定的庫、表。 | 恢復實例中指定的庫、表。 |
恢復位置 |
|
|
恢復速度 | 與數據量有關,恢復速度較慢。 | 與數據量有關,在常規庫表恢復功能的基礎上,提升約50%~95%的恢復速度。 |
恢復方式 | 支持按備份集和時間點恢復。 |
|
只有實例開啟了日志備份后,才可恢復到日志備份保留時長內的任意時間點。如果未開啟日志備份,僅支持恢復至已有數據備份所在的時間點。
恢復范圍取決于日志備份和數據備份保留時長、開啟庫表恢復的時間點等,日志備份和數據備份保留時間最大可設置為730天。您可調用DescribeLocalAvailableRecoveryTime接口查詢RDS實例備份可恢復的時間范圍。
如需了解其他數據恢復方案,請參見數據恢復方案概覽。
前提條件
常規庫表恢復
RDS實例需滿足以下條件:
大版本:8.0、5.7或5.6
系列:高可用系列
存儲類型:本地SSD盤
說明您可以前往實例基本信息頁面查看以上信息。
實例的表數量需低于50000。
若您初次使用RDS備份服務,您需要使用阿里云主賬號完成DBS服務關聯角色(AliyunServiceRoleForDBS)授權。具體操作,請參見如何授權DBS服務關聯角色。
請確保實例庫表恢復功能處于開啟狀態。
您可前往實例詳情頁的備份恢復頁面,在備份策略頁面下,查看庫表恢復功能的狀態。如未開啟,請將庫表恢復設置為開啟。
RDS實例需滿足以下條件:
大版本:8.0、5.7
系列:高可用系列、基礎系列、集群系列
存儲類型:SSD云盤、ESSD云盤、通用云盤
說明您可以前往實例基本信息頁面查看以上信息。
若您初次使用RDS備份服務,您需要使用阿里云主賬號完成DBS服務關聯角色(AliyunServiceRoleForDBS)授權。具體操作,請參見如何授權DBS服務關聯角色。
請確保實例庫表恢復功能處于開啟狀態。
新實例(2023年12月01日及之后創建的實例):庫表恢復功能默認開啟,不支持關閉。
舊實例(2023年12月01日前創建的實例):系統將強制關閉實例已開啟的庫表恢復功能。您可前往實例詳情頁的備份恢復頁面,在備份策略頁簽下重新開啟庫表恢復功能。開啟后實例現有的有效備份集可以立即用于庫表恢復。該功能開啟后,不再支持關閉。
重要如果已有備份集無效,無法用于庫表恢復時,您可在庫表恢復功能開啟后,手動進行一次全量備份,再選擇庫表恢復功能開啟后產生的備份集進行庫表恢復。
極速庫表恢復
RDS實例需滿足以下條件:
大版本:8.0、5.7或5.6
系列:高可用系列
存儲類型:本地SSD盤(云盤不支持極速庫表恢復功能)
實例所在地域:華東1(杭州)、華東2(上海)、華北2(北京)、華北3(張家口)、華北5(呼和浩特)、華南1(深圳)
說明您可以前往實例基本信息頁查看以上信息。
實例的存儲引擎必須為InnoDB。
若您初次使用RDS備份服務,您需要使用阿里云主賬號完成DBS服務關聯角色(AliyunServiceRoleForDBS)授權。具體操作,請參見如何授權DBS服務關聯角色。
實例未開啟容量型沙箱實例,如已開啟,請先關閉。更多信息,請參見RDS MySQL應急恢復。
說明如果已經開啟容量型沙箱,又開啟極速庫表,會導致沙箱升級到性能型沙箱,造成應急恢復費用增加。
請確保實例極速庫表恢復功能處于開啟狀態。
您可前往實例詳情頁的備份恢復頁面,在備份策略頁面下,查看極速庫表恢復功能的狀態。如未開啟,請將極速庫表恢復設置為開啟。具體操作,請參見開啟極速庫表恢復。
注意事項
新實例的庫表恢復功能(常規級別)默認開啟,該功能開啟后無法關閉。更多關于各種級別的庫表恢復時需要注意的事項,請參考本文的前提條件部分。
如果您需要按時間點恢復數據,需要確保實例日志備份處于開啟狀態。如何開啟,請參見設置日志備份。
本地盤實例如果恢復到原實例,恢復過程中會進行主備切換,RDS可能會出現約30~120秒的服務不可用,請確保您的應用有自動重連機制;恢復到新實例不會進行主備切換。
重要云盤實例使用庫表恢復功能恢復數據到原實例時,不會進行主備切換,但某些情況下恢復可能會影響原實例性能,甚至出現實例切換。實例切換的影響請參見實例切換的影響。
恢復任務發起后不支持暫停或取消。
云盤實例庫表恢復完成后會產生一個全量備份。
使用限制
本地盤實例的極速庫表恢復功能僅支持恢復到原實例,不支持恢復到新實例。
未開啟日志備份的實例,會導致極速庫表恢復失敗,無法執行極速庫表恢復。
帶有只讀節點的實例,不支持使用極速庫表恢復。
采用了透明數據加密TDE(Transparent Data Encryption)的實例,不支持使用極速庫表恢復。
如果恢復過程中的binlog日志包含對指定表進行重命名(rename)操作,或者該表中存在生成列(generated column),則庫表恢復功能將無法對該表進行恢復。
如果恢復過程中涉及的庫表數據過多、數據量過大或者用戶指定時間點內的binlog數量過多,可能會導致恢復時間過長。
費用說明
常規庫表恢復
極速庫表恢復
本地盤實例的極速庫表恢復功能分免費版和付費版兩種,具體收費詳情如下(云盤實例不支持極速庫表恢復功能):
免費版:開啟及使用極速庫表恢復(免費版),不收取任何費用。
付費版:開啟及使用極速庫表恢復(付費版)后,將根據數據量以按量付費形式進行計費。計費標準為:0.0336元/GB/天。
免費版:支持恢復到最近一個全量備份的時間點。
付費版:支持按備份集和任意時間點恢復。
開啟極速庫表恢復
若您需要使用極速庫表恢復,您需先參考如下步驟開啟極速庫表恢復,再進行庫表恢復,該功能僅適用于符合前提條件的本地盤實例。開啟極速庫表恢復操作對業務無影響。
訪問RDS實例列表,在上方選擇地域,然后單擊目標實例ID。
在左側導航欄,單擊備份恢復。
說明本地盤的極速庫表恢復支持免費版和付費版兩個版本,其中免費版僅支持最近一個全量時間點恢復數據,付費版支持任意時間點恢復數據。收費詳情,請參見本文費用說明。
頁面如果出現極速庫表恢復商業化收費的彈窗,您可在勾選已知,不再提示后按需選擇開啟免費版或付費版。如未跳出該彈窗,請繼續執行以下步驟。
在備份恢復頁面中選擇備份策略頁簽。
單擊基礎備份區域后的編輯,將極速庫表恢復設置為開啟。
說明對于MySQL本地盤實例,如果實例未開啟庫表恢復,則不會有庫表恢復速度的選項。需要先單擊庫表恢復后面的開關開啟庫表恢復功能。更多庫表恢復功能的詳情內容,請參見注意事項。
MySQL本地盤實例還需設置CDM付費類型和CDM保留時長。
免費版:選擇CDM付費類型為最近1個全量時間點(免費版),恢復后的數據保留時長固定為1天。
付費版:選擇CDM付費類型為任意時間點(付費版),恢復后的數據保留時長可按需設置1~730天。
單擊確定。
操作步驟
訪問RDS實例列表,在上方選擇地域,然后單擊目標實例ID。
在左側導航欄單擊備份恢復,然后單擊庫表恢復。
說明控制臺如未顯示庫表恢復按鈕,請參見前提條件確認功能使用條件是否滿足。
設置恢復的位置和方式。
參數
說明
恢復位置
恢復到原實例
恢復到新實例:后續根據步驟5指引,自動新建一個RDS實例,將原實例的庫/表數據恢復到新實例中,該過程不影響原實例。
在新實例中驗證數據后,您也可以把數據遷移回原實例。
說明僅本地盤實例顯示恢復到新實例選項。
恢復速度
常規
極速:極速庫表恢復功能通過性能型沙箱實例實現,可以在常規庫表恢復功能的基礎上,提升約50%~95%的恢復速度。
說明極速庫表恢復僅支持恢復到原實例,不支持恢復到新實例。
恢復方式
選擇要恢復的庫表,還可以設置恢復后的庫名或表名,然后單擊確定。
說明每次最多選擇50個庫或者表。
恢復到原實例時,不會影響原實例數據,恢復后庫名可與原庫名相同,但恢復后表名不能與原表名相同。系統默認會在恢復后庫名后面添加_backup,您也可以自主修改庫名或表名為其他名稱。
如果恢復到原實例,請確認底部顯示的已勾選的庫和表的總大小,以及該實例剩余存儲空間,確保剩余存儲空間是否足夠。
本地盤實例如果進行常規庫表恢復并恢復到新實例,需選擇付費方式并設置新實例的參數。
包年包月:在新建實例時需要支付費用,適合長期需求。
按量付費:按小時扣費。適合短期需求,用完可立即釋放實例。
參數名稱
說明
可用區
可用區是地域中的一個獨立物理區域,不同可用區之間沒有實質性區別。
您可以選擇將RDS實例與ECS實例創建在同一可用區或不同的可用區。
說明新實例的地域與原實例相同,不支持修改。
規格
每種規格都有對應的CPU核數、內存、最大連接數和最大IOPS。具體請參見實例規格表。
存儲空間
該存儲空間包括數據空間、系統文件空間、日志文件空間和事務文件空間。
網絡類型
經典網絡:傳統的網絡類型。
專有網絡(推薦):也稱為VPC(Virtual Private Cloud)。VPC是一種隔離的網絡環境,安全性和性能均高于傳統的經典網絡。
說明您可前往任務列表查看新實例創建進度。庫表恢復的更多方式請參見:
(可選)連接RDS MySQL實例,查看恢復到原實例或新實例后的數據。具體操作,請參見連接RDS MySQL實例。
說明請確保連接實例所使用的賬號具備數據庫的查看或管理權限,建議使用高權限賬號連接并查看。相關操作,請參見創建賬號。
相關操作
訂正在線數據
恢復位置 | 訂正在線數據方法 |
恢復到原實例 | 使用 |
恢復到新實例 | 恢復到新實例后,您可使用數據傳輸DTS將需要的部分或全部庫表數據遷移至原實例以訂正原實例在線數據。 說明 創建數據遷移任務時,請將已恢復的新實例作為源庫,將原實例作為目標庫,接入方式均選擇云實例。 |
關閉極速庫表恢復
如果您暫時不需要極速庫表恢復功能,可以關閉該功能。關閉后不影響常規級別庫表恢復功能的使用。
訪問實例詳情頁的備份恢復頁面,在備份策略頁簽下,單擊基礎備份區域后的編輯按鈕,將極速庫表恢復設置為關閉。
變更極速庫表恢復模式(節省費用)
您可以按需將極速庫表恢復模式調整為免費版,以節省恢復費用。變更為免費版后,后續在使用極速庫表恢復功能恢復數據時,僅支持按備份集或最近一個全量時間點恢復,不能按任意時間點恢復。
訪問實例詳情頁的備份恢復頁面,在備份策略頁簽下,單擊基礎備份區域后的編輯按鈕,將CDM付費類型設置為最近1個全量時間點(免費版)。
相關API
API | 描述 |
恢復RDS實例的某個數據庫或表到原實例上。 | |
恢復RDS實例的某個數據庫或表到新實例上。 | |
查詢RDS實例備份可恢復的時間范圍。 |
常見問題
RDS控制臺的任務為串行運行,當存在進行中的恢復任務或其他任務時,再次重復執行恢復操作會導致該提示。請等待上一個恢復任務或其他任務結束后,再執行下一個恢復任務操作。
按時間點恢復庫表時,需確保實例日志備份處于開啟狀態。您可以請前往實例備份恢復頁面,在備份策略頁面下查看或修改日志備份狀態。更多詳情,請參見日志備份設置。
請確認恢復庫表時您所選擇的時間點表的數據是否存在。若該時間點表無數據,請選擇有數據的時間點后再進行庫表恢復操作。
您可使用DMS數據追蹤功能按需追蹤到目標時間段內的相關更新,匯總生成逆向的回滾語句,并通過數據變更工單最終執行到數據庫中完成數據的恢復。
如果您無法正常使用庫表恢復功能,請檢查您的RAM賬號是否已添加AliyunDBSFullAccess權限。如何授權,請參見為RAM用戶授權。
庫表恢復功能是指在誤刪除、誤修改或其他意外導致數據丟失或損壞時,使用RDS提供的庫表恢復功能,選擇需要恢復的庫和表,將數據還原到指定時間點的狀態。適用于對特定庫和表進行數據恢復的情況,例如在誤操作導致部分數據丟失時,只需要對受影響的表進行恢復。
應急恢復功能是指在誤操作或其他意外導致數據丟失或損壞時,在沙箱實例(非RDS實例)上恢復指定時間點的數據。可用于歷史數據比對、臟數據訂正等場景;也可通過DTS將數據導回原實例,來支持數據丟失或損壞的情況。
若同時開啟極速庫表恢復和應急恢復功能,CDM會通過后臺合并存儲來降低存儲費用。更多數據恢復方案,請參見數據恢復方案概覽。
您可以使用數據災備(DBS)對云數據庫、ECS自建數據庫進行備份與恢復,同時DBS也支持將云上備份集下載到本地。
庫表恢復的更多方式,請參見庫表級恢復或通過mysqldump進行備份和恢復。