本文介绍如何恢复RDS MySQL的部分库或表。

对本地盘实例进行库表恢复

前提条件
  • 实例是MySQL 8.0、5.7、5.6 高可用版(本地盘)或MySQL 5.7 三节点企业版(本地盘)。
  • 实例的存储引擎不为X-Engine。
  • 实例的表数量低于50000。
  • 已在控制台备份恢复 > 备份设置里开启库表备份功能。
    说明
    • 新实例默认开启该功能,无法关闭。
    • 开通库表备份功能之前的数据,无法进行库表恢复,建议参考恢复MySQL数据
    • 开启库表备份后,备份格式会修改(从tar压缩包变成xbstream文件包),用于支持库表恢复,且开通之后无法关闭该功能。

影响

如果恢复到原实例,恢复过程中会进行主备切换,RDS服务可能会出现约30秒闪断,请确保您的应用有自动重连机制;恢复到新实例不会进行主备切换。

操作步骤

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  2. 在左侧导航栏单击备份恢复,然后单击库表恢复
    说明 如未看到 库表恢复按钮,请参见前提条件。
  3. 设置恢复的位置和方式。
    参数 说明
    恢复位置
    • 恢复到原实例
    • 恢复到新实例:新购实例,并将库/表恢复到新实例。
    恢复方式
    • 按备份集
    • 按时间点:可以设置为日志备份保留时间内的任意时间点。如要查看或修改日志备份保留时间,请参见自动备份
      说明 只有开启了日志备份,才会显示 按时间点
    还原模式
    • 逻辑还原:速度较慢。
    • 物理还原:速度较快,但是实例会进行主备切换,所有只读实例会重启。如果实例处于运维状态、指定恢复的库表数据量较少或只读实例复制中断时,后端会自动选择逻辑还原
    说明 实例有只读实例时此选项可见。
  4. 选择要恢复的库表,还可以设置恢复后的库名或表名,然后单击确定
    说明
    • 每次最多选择50个库或者表。
    • 恢复到原实例时,恢复后库名或表名不能与之前相同,默认会在原库表名后添加_backup。
    • 如果恢复到原实例,请确认底部显示的已勾选的库和表的总大小,以及该实例剩余存储空间,确保剩余存储空间是否足够。
  5. 如果恢复到新实例,需选择付费方式并设置新实例的参数。
    • 包年包月:在新建实例时需要支付费用,适合长期需求。
    • 按量付费:按小时扣费。适合短期需求,用完可立即释放实例。
    参数名称 说明
    可用区

    可用区是地域中的一个独立物理区域,不同可用区之间没有实质性区别。

    您可以选择将RDS实例与ECS实例创建在同一可用区或不同的可用区。
    说明 新实例的地域与原实例相同,不支持修改。
    规格 每种规格都有对应的CPU核数、内存、最大连接数和最大IOPS。具体请参见实例规格表
    存储空间 该存储空间包括数据空间、系统文件空间、Binlog文件空间和事务文件空间。
    网络类型
    • 经典网络:传统的网络类型。
    • 专有网络(推荐):也称为VPC(Virtual Private Cloud)。VPC是一种隔离的网络环境,安全性和性能均高于传统的经典网络。

对云盘实例进行库表恢复

  1. 使用DBS创建逻辑备份
  2. 恢复逻辑备份
说明 库表恢复的更多方式: 使用mysqldump进行备份恢复

相关API

API 描述
RestoreTable 恢复RDS实例的某个数据库或表到原实例上。
CloneDBInstance 恢复RDS实例的某个数据库或表到新实例上。
DescribeLocalAvailableRecoveryTime 查询RDS实例备份可恢复的时间范围。