庫表恢復(fù)方式1:從備份集恢復(fù)
庫表恢復(fù)是指僅恢復(fù)指定的部分庫或部分表到原集群。例如游戲業(yè)務(wù)中有時(shí)僅需恢復(fù)某個(gè)或某些玩家的數(shù)據(jù),此時(shí)可使用庫表恢復(fù)方式。庫表恢復(fù)支持從備份集恢復(fù)和恢復(fù)到過去時(shí)間點(diǎn)兩種備份方式。本文介紹如何從備份集恢復(fù)指定的庫或表。
簡介
PolarDB提供的庫表恢復(fù)功能,不會(huì)覆蓋和刪除原集群中已有的庫表,不會(huì)將數(shù)據(jù)寫入原集群的庫表中,而是在原集群中新建庫表。您可以在庫表恢復(fù)過程中指定新的庫名或表名,通過指定庫和表的方式,將db1
的備份數(shù)據(jù)恢復(fù)到db2
。
庫表恢復(fù)過程中,不會(huì)影響原集群數(shù)據(jù)庫的正常訪問,但可能會(huì)占用原集群的計(jì)算資源,從而導(dǎo)致集群CPU和IOPS使用率升高。
版本要求和使用限制
版本要求
您可以通過查詢版本號(hào)來確認(rèn)集群版本。
當(dāng)前PolarDB MySQL版的企業(yè)版和標(biāo)準(zhǔn)版都支持庫表恢復(fù)功能,具體版本要求及限制如下。
PolarDB企業(yè)版支持庫表恢復(fù)。目前僅集群版系列支持庫表恢復(fù)功能,集群版本要求如下:
PolarDB MySQL版5.6版本,修訂版本需為5.6.1.0.25及以上。
PolarDB MySQL版5.7版本,修訂版本需為5.7.1.0.8及以上。
PolarDB MySQL版8.0.1版本,修訂版本需為8.0.1.1.14及以上。
PolarDB MySQL版8.0.2版本,修訂版本需為8.0.2.2.0及以上。
PolarDB標(biāo)準(zhǔn)版支持庫表恢復(fù),集群版本要求如下:
PolarDB MySQL版5.7版本X86架構(gòu),修訂版本需為5.7.1.0.30及以上。
PolarDB MySQL版8.0.1版本X86架構(gòu),修訂版本需為8.0.1.1.38.2及以上。
PolarDB MySQL版8.0.2版本X86架構(gòu),修訂版本需為8.0.2.2.21及以上。
PolarDB MySQL版8.0.1版本倚天(ARM)架構(gòu),修訂版本需為8.0.1.1.41及以上。
若存儲(chǔ)類型為云盤,則不支持50000張表以上的庫表恢復(fù)。
GDN中的主集群支持庫表恢復(fù)功能,集群版本要求如下:
企業(yè)版
PolarDB MySQL版5.6版本,修訂版本為5.6.1.0.42及以上。
PolarDB MySQL版5.7版本,修訂版本需為5.7.1.0.30及以上。
PolarDB MySQL版8.0.1版本,修訂版本需為8.0.1.1.44及以上。
PolarDB MySQL版8.0.2版本,修訂版本需為8.0.2.2.25.3及以上。
標(biāo)準(zhǔn)版
PolarDB MySQL版5.6版本,修訂版本為5.6.1.0.42及以上。
PolarDB MySQL版5.7版本,修訂版本需為5.7.1.0.30及以上。
PolarDB MySQL版8.0.1版本,修訂版本需為8.0.1.1.38.2及以上。
PolarDB MySQL版8.0.2版本,修訂版本需為8.0.2.2.21及以上。
支持使用庫表恢復(fù)新版的集群版本要求如下:
企業(yè)版
PolarDB MySQL版5.6版本,修訂版本為5.6.1.0.42及以上。
PolarDB MySQL版5.7版本,修訂版本需為5.7.1.0.30及以上。
PolarDB MySQL版8.0.1版本,修訂版本需為8.0.1.1.44及以上。
PolarDB MySQL版8.0.2版本,修訂版本需為8.0.2.2.25.3及以上。
標(biāo)準(zhǔn)版
PolarDB MySQL版5.6版本,修訂版本為5.6.1.0.42及以上。
PolarDB MySQL版5.7版本,修訂版本需為5.7.1.0.30及以上。
PolarDB MySQL版8.0.1版本,修訂版本需為8.0.1.1.38.2及以上。
PolarDB MySQL版8.0.2版本,修訂版本需為8.0.2.2.21及以上。
說明庫表恢復(fù)新版是在庫表恢復(fù)舊版的基礎(chǔ)上,對(duì)數(shù)據(jù)恢復(fù)至原集群的速度進(jìn)行了優(yōu)化。其原理和速度可參見整體流程和預(yù)估時(shí)間。
使用限制
PolarDB多主集群(庫表)不支持庫表恢復(fù)。
不支持在包含全局二級(jí)索引(Global Secondary Index)的表上使用庫表恢復(fù)功能。
如果實(shí)例沒有RO節(jié)點(diǎn),超過50000張表時(shí)將不支持庫表恢復(fù)功能。
不支持在GDN中的從集群上使用庫表恢復(fù)功能。
庫表恢復(fù)功能不支持恢復(fù)列存索引。
不支持在歸檔為冷數(shù)據(jù)的表上使用庫表恢復(fù)功能。
庫表恢復(fù)功能只支持恢復(fù)以InnoDB為存儲(chǔ)引擎的表。
若您當(dāng)前集群不支持使用庫表恢復(fù)功能,您可以通過全量恢復(fù)方式1:從備份集恢復(fù)或全量恢復(fù)方式2:恢復(fù)到過去時(shí)間點(diǎn)的方式將數(shù)據(jù)恢復(fù)到新的集群,再將數(shù)據(jù)遷移至原集群。
注意事項(xiàng)
當(dāng)前庫表恢復(fù)方式中的從備份集恢復(fù),只支持從一級(jí)備份的備份集里恢復(fù),不支持從二級(jí)備份恢復(fù)。
庫表恢復(fù)只會(huì)恢復(fù)指定的表,操作時(shí)請(qǐng)確認(rèn)已選中所有需要恢復(fù)的表。
說明若無法確定所有涉及的表,建議您將整個(gè)集群的歷史數(shù)據(jù)恢復(fù)到一個(gè)新集群后再遷移至原集群。更多詳情,請(qǐng)參見全量恢復(fù)方式1:從備份集恢復(fù)和全量恢復(fù)方式2:恢復(fù)到過去時(shí)間點(diǎn)。
執(zhí)行庫表恢復(fù)操作時(shí),若指定的庫名或表名在原集群中已存在,則庫表恢復(fù)會(huì)失敗。
若選擇非整庫恢復(fù),該庫每次最多支持恢復(fù)100張表。若選擇恢復(fù)庫,則支持恢復(fù)的表數(shù)量為該庫下所有的表。
說明若一次恢復(fù)的表數(shù)量太多,恢復(fù)時(shí)間會(huì)較長,因此不建議一次恢復(fù)過多表。
若您需要恢復(fù)的表數(shù)量較多,建議您選擇恢復(fù)全量歷史數(shù)據(jù)到新集群中的方案,詳細(xì)操作步驟,請(qǐng)參見全量恢復(fù)方式1:從備份集恢復(fù)和全量恢復(fù)方式2:恢復(fù)到過去時(shí)間點(diǎn)。
集群內(nèi)的表(包括系統(tǒng)表)超過50000張時(shí)也可以使用庫表恢復(fù)功能。
說明該功能目前處于灰度階段,如需使用,您可以聯(lián)系我們加入白名單,啟用該功能。
查詢集群內(nèi)的表(包括系統(tǒng)表)數(shù)量。SQL語句如下:
SELECT COUNT(*) FROM information_schema.tables;
查詢集群內(nèi)的系統(tǒng)表數(shù)量。SQL語句如下:
SELECT COUNT(*) FROM information_schema.tables WHERE table_schema IN ('sys', 'performance_schema', 'mysql', 'information_schema', '__recycle_bin__');
庫表恢復(fù)功能不支持恢復(fù)觸發(fā)器(Trigger),若原表設(shè)置了Trigger,該Trigger不會(huì)被恢復(fù)。
庫表恢復(fù)功能不支持恢復(fù)外鍵(Foreign Key),若原表設(shè)置了Foreign Key,該Foreign Key不會(huì)被恢復(fù)。
操作步驟
在左側(cè)導(dǎo)航欄單擊集群列表。
在左上角,選擇集群所在地域。
找到目標(biāo)集群,單擊集群ID。
在左側(cè)導(dǎo)航欄中,選擇 。
在備份恢復(fù)頁面,單擊庫(表)恢復(fù)。
在彈出的對(duì)話框中,選擇恢復(fù)方式為按備份集,并在備份集列表中選擇目標(biāo)備份集。
在需要恢復(fù)的庫和表區(qū)域左側(cè),選中需要恢復(fù)的目標(biāo)庫,并在右側(cè)選中目標(biāo)表。
說明若您未指定庫名和表名,則系統(tǒng)會(huì)通過在原庫名或原表名后添加
_backup
的方式,來自動(dòng)生成新的庫名和表名。如原表為test
,則自動(dòng)生成的新的表名為test_backup
。若選中目標(biāo)庫后但未指定具體的數(shù)據(jù)表,默認(rèn)恢復(fù)該庫下的所有數(shù)據(jù)。
單擊確定即可。
相關(guān)API
API | 描述 |
調(diào)用DescribeMetaList接口查看支持恢復(fù)的庫表元信息詳情。 | |
RestoreTable - 恢復(fù)PolarDB實(shí)例的某些數(shù)據(jù)庫或表到原實(shí)例 | 調(diào)用RestoreTable恢復(fù)PolarDB庫表。 |