如果数据被误删除或更新,可以通过图形化界面轻松完成数据恢复。

前提条件

原实例需要满足如下条件:

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

其他引擎恢复数据请参见:

恢复场景

本文介绍如何恢复全量数据,如只需恢复个别库表,请参见恢复库表。更多数据恢复场景,请参见数据恢复方案概览

恢复到新实例

以下介绍如何恢复到一个新实例,验证数据后,再将数据迁移回原实例,此功能原名为克隆实例。

费用

由于数据是恢复到新实例上,因此需要收取新实例费用,费用详情可在创建实例时查看。
说明
  • 您可以创建按量付费的新实例,使用后将其释放。如何释放,请参见释放实例
  • 实例创建完成后开始计费。

说明

  • 新实例的白名单设置、备份设置、参数设置和当前实例保持一致。
  • 新实例内的数据与用于恢复的备份文件中的数据一致。
  • 新实例带有所使用备份文件或时间点当时的账号信息。

恢复时长

恢复时长受多种因素影响,如果您有200GB的数据需要恢复,恢复时长大概在3小时左右,恢复时长计算详情请参见本文常见问题。

恢复的时间点

  • 如果开启了日志备份,可以恢复到日志备份保留时间内的任意时间点。
  • 如果没有开启日志备份,则可以恢复至已有的数据备份所在的时间点。
说明 您可在以下操作步骤的步骤4中选择可恢复时间点。

操作步骤

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  2. 在左侧导航栏单击备份恢复
  3. 单击数据库恢复
  4. 设置如下参数。
    类别 说明
    计费方式
    • 包年包月:属于预付费,即在新建实例时需要支付费用。适合长期需求,价格比按量付费更实惠,且购买时长越长,折扣越多。
    • 按量付费:属于后付费,即按小时扣费。适合短期需求,用完可立即释放实例,节省费用。
    还原方式
    • 按时间点:可以设置为日志备份保留时间内的任意时间点(任意一秒)。如要查看或修改日志备份保留时间,请参见自动备份
    • 按备份集:恢复所选备份集内的数据。暂不支持逻辑备份。
    说明 只有开启了日志备份,才会显示按时间点
    可用区

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

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

后续步骤

  1. 登录到新实例并验证数据。关于登录实例的操作,请参见连接实例
  2. (可选)将需要的数据从新实例迁移回原实例。详情请参见RDS实例间的数据迁移
    说明 数据迁移是指将一个实例(称为源实例)的数据复制到另一个实例(称为目标实例),迁移操作不会对源实例造成影响。

恢复到原实例

方式 说明
方式一 恢复到新实例,验证数据后,再迁移至原实例
方式二 使用库表恢复功能将全量数据恢复至原实例,具体请参见恢复库表
方式三 如果有使用DBS创建逻辑备份,可以直接将其恢复至原实例,具体请参见恢复逻辑备份

恢复到其他已有实例

方式 说明
方式一 恢复到新实例,验证数据后,再迁移至其他已有实例
方式二 如果有使用DBS创建逻辑备份,可以直接将其恢复至其它已有实例,具体请参见恢复逻辑备份

恢复到本地数据库

方式 说明
方式一 恢复到新实例,验证数据后,再迁移至自建数据库
方式二 如果有使用DBS创建逻辑备份,可以直接将其恢复至自建数据库,具体请参见恢复逻辑备份
方式三 下载备份,再将备份文件恢复至自建数据库,具体请参见RDS MySQL物理备份文件恢复到自建数据库RDS MySQL逻辑备份文件恢复到自建数据库RDS MySQL CSV文件恢复到自建数据库

常见问题

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

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

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

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

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

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

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

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

  • 为什么数据库恢复要收费?
    由于数据是恢复到新实例上,因此需要收取新实例费用,费用详情可在创建实例时查看。
    说明
    • 您可以创建按量付费的新实例,使用后将其释放。如何释放,请参见释放实例
    • 实例创建完成后开始计费。
  • 恢复数据到新实例的时间预估需要多久?

    恢复时间预估示例

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

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

    可能因为您在前一步(基础配置)选择的可用区内没有交换机,所以在当前步骤(网络和资源组)无法选择主节点交换机。您可以单击到控制台创建跳转到专有网络控制台,在可用区内创建交换机,就可以选择主节点交换机了。