使用原实例的数据备份和日志备份创建新实例,可用于误操作后恢复以及分析历史数据等场景。

前提条件

原实例需要满足如下条件:
  • 已完成备份。RDS默认有自动备份,关于更多备份设置,请参见备份方案概览
  • 如果要按时间点进行恢复,需要确保日志备份已开启。如何开启,请参见日志备份
  • 若要按备份集恢复,则原实例必须至少有一个物理备份。更多信息,请参见自动备份
  • RDS实例运行状态为运行中且没有被锁定。
  • 当前没有迁移任务。
说明

功能说明

功能原理图
类别说明
恢复范围恢复整个实例。
新实例各配置项新实例的白名单设置、备份设置、参数设置和当前实例保持一致。
新实例账号信息新实例内含恢复时所选择的备份时间点或备份集当时的账号信息。
新实例数据新实例内的数据与用于恢复的备份文件中的数据一致。
恢复的时间点
  • 如果开启了日志备份,可以恢复到日志备份保留时间内的任意时间点。
  • 如果没有开启日志备份,则可以恢复至已有的数据备份所在的时间点。
恢复时长恢复时长受多种因素影响,如果您有200GB的数据需要恢复,恢复时长大概在3小时左右,恢复时长计算详情请参见本文常见问题。

费用说明

由于数据是恢复到新实例上,因此需要收取新实例费用,费用详情可在创建实例时查看。
说明

功能开启

恢复全量数据功能无需手动开启。新实例创建成功后会自动进行周期性备份,您可使用备份完成的数据备份和日志备份进行全量数据恢复。

操作步骤

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  2. 在左侧导航栏单击备份恢复 > 数据库恢复
    说明 您也可以单击基本信息页面实例分布区域的数据库恢复(原克隆实例)按钮
  3. 数据库恢复(原克隆实例)页面,选择待恢复的时间点或备份集,并对新实例进行基础资源配置。
    类别说明
    计费方式
    • 包年包月:属于预付费,即在新建实例时需要支付费用。适合长期需求,价格比按量付费更实惠,且购买时长越长,折扣越多。
    • 按量付费:属于后付费,即按小时扣费。适合短期需求,用完可立即释放实例,节省费用。
    还原方式
    • 按时间点:可以设置为日志备份保留时间内的任意时间点(任意一秒)。如要查看或修改日志备份保留时间,请参见自动备份
    • 按备份集:恢复所选备份集内的数据。暂不支持逻辑备份。
    说明 只有开启了日志备份,才会显示按时间点
    架构
    • X86:每一个vCPU都对应一个处理器核心的超线程。
    • ARM:每一个vCPU都对应一个处理器的物理核心,具有性能稳定且资源独享的特点。

    更多详情,请参见计算架构类型

    可用区

    可用区是地域中的一个独立物理区域,主节点可用区指主实例所在可用区,备节点可用区指备实例所在可用区。

    您可以设置实例为单可用区部署多可用区部署
    • 单可用区部署主节点可用区备节点可用区都处于相同可用区。
    • 多可用区部署(推荐):主节点可用区备节点可用区处于不同可用区,能提供可用区级别的容灾。您需要手动选择主节点可用区备节点可用区
    说明
    • 实例创建后,您可以在实例的服务可用性页面查看主备节点信息。
    • 基础版实例只有一个节点,只能部署在一个可用区内。
    实例规格
    • 通用规格(入门级):通用型的实例规格,独享被分配的内存和I/O资源,与同一服务器上的其他通用型实例共享CPU和存储资源。
    • 独享规格(企业级):独享或独占型的实例规格。独享型指独享被分配的CPU、内存、存储和I/O资源。独占型是独享型的顶配,独占整台服务器的CPU、内存、存储和I/O资源。
    • 专属规格:完全独享虚拟主机或物理主机资源,开放主机权限,可直接在主机上按需分配多个数据库实例。更多信息,请参见添加主机
    说明 每种规格都有对应的CPU核数、内存、最大连接数和最大IOPS。详情请参见主实例规格列表
    存储空间存储空间包括数据空间、系统文件空间、Binlog文件空间和事务文件空间。调整存储空间时最小单位为5GB。
  4. 单击下一步:实例配置,配置实例网络类型和资源组,设置如下参数。
    类别说明
    网络类型
    • 经典网络:传统的网络类型。
    • 专有网络(推荐):也称为VPC(Virtual Private Cloud)。VPC是一种隔离的网络环境,安全性和性能均高于传统的经典网络。选择专有网络时您需要选择对应的VPC主节点交换机,如果您在上一步的基础资源中配置了多可用区部署,则还需要选择备选节点交换机
    说明 请确保RDS实例与需要连接的ECS实例网络类型一致(如果选择专有网络,还需要保证VPC一致),否则它们无法通过内网互通。
    资源组资源组是在阿里云账号下进行资源分组管理的一种机制,能够帮助您解决单个云账号内的资源分组和授权管理的复杂性问题。您可以选择已有资源组或创建新资源组。如无资源分组管理需求,可选择默认资源组
  5. 单击下一步:确认订单
  6. 确认参数配置,选择购买量购买时长(仅包年包月实例),勾选服务协议,单击去支付完成支付。
    说明 对于包年包月实例,建议勾选到期自动续费,可以免去您定期手动续费的烦恼,且不会因忘记续费而导致业务中断。
  7. (可选)后续如需登录到新实例并验证数据。关于登录实例的操作,请参见连接实例

订正在线数据

恢复到新实例后,您可使用数据传输DTS将需要的部分或全部库表数据迁移至原实例以订正原实例在线数据。
说明 创建数据迁移任务时,请将已恢复的新实例作为源库,将原实例作为目标库,接入方式均选择云实例

常见问题

  • Q:误删除了一个或多个库,如何恢复?

    A:您可以进行库表恢复恢复一个或多个库表,详情请参见恢复库表。对于不支持库表恢复的实例,您可以参见本文,将数据全量恢复到新实例上,经过验证后,再将数据迁回原实例。

  • Q:RDS支持恢复数据到某个时间点吗

    A:支持。如果已开启日志备份,可以恢复到日志备份保留时间内的任意时间点;如果未开启日志备份,则可以恢复至已有的数据备份所在的时间点。

  • Q:没有数据备份可以按时间点恢复吗?

    A:不可以。因为按时间点恢复是先将所选时间点前的一个全量数据备份恢复到实例,然后根据Binlog增量恢复数据到所选时间点。

  • Q:如果备份保留时长只设置了7天,可以恢复到更早的数据吗?已删除的备份可以通过找回DMS的数据追踪找回吗?

    A:不可以,因为备份都是按照您设置的保留时间进行保留的,超出保留时间后,备份都会自动删除,无法恢复;无法找回,数据追踪的本质是通过Binlog来恢复,但由于您之前的保留时长只设置了7天,因此无法追踪到7天前的Binlog。您可参考 自动备份文档修改备份保留时长。

  • Q:为什么数据库恢复要收费?
    A:由于数据是恢复到新实例上,因此需要收取新实例费用,费用详情可在创建实例时查看。
    说明
  • Q:恢复数据到新实例的时间预估需要多久?

    恢复时间预估示例

    测试环境:2核4 GB的高可用本地盘实例。

    操作预计消耗时间
    创建实例5分钟
    配置实例15分钟
    下载备份数据200 GB/小时
    启动实例5分钟
    下载Binlog200 GB/小时
    应用Binlog根据Binlog的具体内容决定
    说明
    • 以此示例为例,如果您有200GB的数据需要恢复,恢复时长为以上各操作消耗时间之和,大概在3小时左右(假如应用Binlog消耗时间为30分钟)。
    • 如需更快的恢复速度,您可以开启沙箱实例,系统会自动同步待恢复的数据至沙箱存储中,后续可进行快速恢复。具体操作请参见应急恢复
    影响因素:恢复数据到新实例的速度受多种因素影响,无法保证100%恢复成功,并且用户执行的SQL引发的某些异常情况需要人工排查处理。影响速度的主要因素如下:
    • 全量备份数据大小:数据量越大恢复速度越慢。
    • 增量备份数据大小:数据量越大恢复速度越慢。
    • 是否存在大事务:Binlog中存在大事务会拖慢恢复速度。
    • 是否存在热点更新:Binlog中存在热点更新会拖慢恢复速度。
    • 是否存在外键约束(FOREIGN KEY):外键约束会增加校验成本,拖慢恢复速度。
    • Binlog数量:按时间点恢复时,所需的Binlog个数越多,恢复速度越慢。
    • MySQL 8.0是否存在分区表:如存在则暂不支持恢复。
    • 实例的存储类型:云盘的恢复速度比本地盘快。
    • 实例规格:新实例的规格越大恢复速度越快。
    • 实例版本:不同的实例版本并行复制的策略不同,不支持并行复制的场景都将以单线程模式进行,影响恢复速度。
    说明 除上述影响恢复速度的因素以外,还有部分因素可能导致恢复无法正常进行,例如:
    • 新实例版本小于源实例,Binlog有不能正常解析的风险。
    • 表名或列名中包含中文、特殊字符等情况,恢复时有失败的风险。
    • 若源实例中的Binlog被删除,则无法完成恢复。
    • 若在源实例中关闭了implicit_primary_key参数,则会导致无主键的表恢复失败。
  • Q:为什么恢复时无法选择主节点交换机?
    A:可能因为您在前一步(基础配置)选择的可用区内没有交换机,所以在当前步骤(网络和资源组)无法选择主节点交换机。您可以单击到控制台创建跳转到专有网络控制台,在可用区内创建交换机,就可以选择主节点交换机了。
  • Q:如何恢复到原实例或其他已有实例或本地数据库?
    恢复位置恢复方法
    恢复到原实例
    • 方法一:先恢复到新实例,验证数据后,再将部分或全部库表数据迁移至原实例
    • 方法二:使用库表恢复功能将全量数据恢复至原实例,具体请参见恢复库表
    • 方法三:如果有使用DBS创建逻辑备份,可以直接将其恢复至原实例,具体请参见恢复逻辑备份
    恢复到其他已有实例
    恢复到本地数据库