库表恢复方式1:从备份集恢复

库表恢复是指仅恢复指定的部分库或部分表到原集群。例如游戏业务中有时仅需恢复某个或某些玩家的数据,此时可使用库表恢复方式。库表恢复支持从备份集恢复和恢复到过去时间点两种备份方式。本文介绍如何从备份集恢复指定的库或表。

简介

PolarDB提供的库表恢复功能,不会覆盖和删除原集群中已有的库表,不会将数据写入原集群的库表中,而是在原集群中新建库表。您可以在库表恢复过程中指定新的库名或表名,通过指定库和表的方式,将db1的备份数据恢复到db2

库表恢复过程中,不会影响原集群数据库的正常访问,但可能会占用原集群的计算资源,从而导致集群CPUIOPS使用率升高。

适用范围

集群版本

库表恢复功能支持PolarDB企业版和标准版,但对集群的修订版本有特定要求。不同场景下的最低版本要求如下表所示。

  • 基础功能:代表支持库表恢复所需满足的最低版本。

  • GDN主集群/新版恢复流程:代表在全球数据库(GDN)主集群上使用,或想获得新版恢复流程速度优化时,所需满足的最低版本要求。

    说明

    库表恢复的新版恢复流程是在旧版的基础上,对数据恢复至原集群的速度进行了优化。其原理和速度可参见整体流程和预估时间

版本系列

MySQL 版本

架构

基础功能(最低修订版本)

GDN主集群/新版恢复流程(最低修订版本)

企业版(集群版)

5.6

X86

5.6.1.0.25

5.6.1.0.42

5.7

X86

5.7.1.0.8

5.7.1.0.36

8.0.1

X86

8.0.1.1.14

8.0.1.1.46

8.0.2

X86

8.0.2.2.0

8.0.2.2.26

标准版

5.6

X86

5.6.1.0.42

5.6.1.0.42

5.7

X86

5.7.1.0.30

5.7.1.0.30

8.0.1

X86

8.0.1.1.38.2

8.0.1.1.38.2

倚天(ARM)

8.0.1.1.41

8.0.1.1.41

8.0.2

X86

8.0.2.2.21

8.0.2.2.21

说明

您可在PolarDB MySQL集群的基本信息页面的配置信息区域查看当前集群的内核版本。

其他限制

在使用库表恢复功能时,请注意以下不支持的场景:

说明

若您当前集群不支持使用库表恢复功能,您可以通过全量恢复的方式将数据恢复到新的集群,再将数据迁移至原集群。

注意事项

  • 当前库表恢复方式中的从备份集恢复,只支持从一级备份的备份集里恢复,不支持从二级备份恢复。

  • 库表恢复只会恢复指定的表,操作时请确认已选中所有需要恢复的表。

    说明

    若无法确定所有涉及的表,建议您将整个集群的历史数据恢复到一个新集群后再迁移至原集群。更多详情,请参见全量恢复方式1:从备份集恢复全量恢复方式2:恢复到过去时间点

  • 执行库表恢复操作时,若指定的库名或表名在原集群中已存在,则库表恢复会失败。

  • 若选择非整库恢复,该库每次最多支持恢复100张表。若选择恢复库,则支持恢复的表数量为该库下所有的表。

    说明
  • 集群内的表(包括系统表)超过50000张时也可以使用库表恢复功能。

    说明
    • 该功能目前处于灰度阶段,如需使用,您可以联系我们加入白名单,启用该功能。

    • 查询集群内的表(包括系统表)数量。SQL语句如下:

      SELECT COUNT(*) FROM information_schema.tables;
    • 查询集群内的系统表数量。SQL语句如下:

      SELECT COUNT(*) FROM information_schema.tables WHERE table_schema IN ('sys', 'performance_schema', 'mysql', 'information_schema', '__recycle_bin__');
  • 库表恢复功能不支持恢复触发器(Trigger),若原表设置了Trigger,该Trigger不会被恢复。

  • 库表恢复功能不支持恢复外键(Foreign Key),若原表设置了Foreign Key,该Foreign Key不会被恢复。

操作步骤

  1. 登录PolarDB控制台,在左侧导航栏单击集群列表,选择集群所在地域,并单击目标集群ID进入集群详情页。

  2. 在左侧导航栏中,选择配置与管理 > 备份恢复,单击库(表)恢复

  3. 在弹出的对话框中,选择恢复方式按备份集,并在备份集列表中选择目标备份集。image

    说明

    库表恢复功能根据所占用的IOPS可分为快速常规安全三种配置,您可以根据实际需求进行选择。恢复速度配置的预估耗时请参见库表恢复速度测试数据参考

    • 快速:向当前集群恢复数据期间,可能占用大量IOPS(约60%),建议在业务低峰期选择。

    • 常规【推荐】:向当前集群恢复数据期间,可能占用部分IOPS(约30%)。

    • 安全:向当前集群恢复数据期间,仅占用少量IOPS(约15%),可能会大幅影响恢复速度。

  4. 需要恢复的库和表区域左侧,选中需要恢复的目标库,并在右侧选中目标表。

    1

    说明
    • 若您未指定库名和表名,则系统会通过在原库名或原表名后添加_backup的方式,来自动生成新的库名和表名。如原表为test,则自动生成的新的表名为test_backup

    • 若选中目标库后但未指定具体的数据表,默认恢复该库下的所有数据。

  5. 确认已选择您需要恢复的库和表后,单击确定即可。

相关API

API

描述

DescribeMetaList - 查看支持恢复的库表信息详情

调用DescribeMetaList接口查看支持恢复的库表元信息详情。

RestoreTable - 恢复PolarDB实例的某些数据库或表到原实例

调用RestoreTable恢复PolarDB库表。