恢复库表

更新时间: 2023-11-27 14:29:05

RDS MySQL支持常规和极速级别的库表恢复功能,您可将指定的库、表按备份集或时间点恢复至原实例或新实例,无需恢复全部数据,可用于误操作后的快速订正,以及分析历史数据等场景。

库表恢复模式的区别

库表恢复速度有常规、极速和极速5min三种级别,极速库表恢复通过性能型沙箱实例实现,在相同的数据量下,极速库表恢复相较常规库表恢复提升了约50%~95%的恢复速度;而极速库表5min恢复相较极速库表恢复提升了更快的恢复速度,无论数据量多大,均可在5分钟内恢复全部数据。如何开启极速库表恢复,请参见开启极速库表恢复

重要

极速库表5min恢复功能当前正处于公测期,您可加入钉钉群咨询并申请使用(钉钉群号:29450017943)。

image

对比项

常规库表恢复

极速库表恢复

极速库表5min恢复(公测)

恢复范围

恢复实例中指定的库、表。

恢复实例中指定的库、表。

恢复实例中指定的库、表。

恢复位置

  • 本地盘:支持恢复到原实例和新实例。

  • 云盘:不支持常规库表恢复功能。

  • 本地盘:仅支持恢复到原实例。

  • 云盘:仅支持恢复到原实例。

  • 本地盘:仅支持恢复到原实例。

  • 云盘:不支持极速库表5min恢复功能。

恢复速度

与数据量有关,恢复速度较慢。

与数据量有关,在常规库表恢复功能的基础上,提升约50%~95%的恢复速度。

与数据量无关,可在5分钟左右快速恢复。

恢复方式

支持按备份集和时间点恢复。

  • 免费版:支持按备份集恢复,或最近一个全量时间点恢复。

  • 付费版:支持按备份集和任意时间点恢复。

  • 免费版:支持按备份集恢复,或最近一个全量时间点恢复。

  • 付费版:支持按备份集和任意时间点恢复。

说明
  • 只有实例开启了日志备份后,才可恢复到日志备份保留时长内的任意时间点。如果未开启日志备份,仅支持恢复至已有数据备份所在的时间点。

  • 恢复范围取决于日志备份和数据备份保留时长、开启库表恢复的时间点等,日志备份和数据备份保留时间最大可设置为730天。您可调用DescribeLocalAvailableRecoveryTime接口查询RDS实例备份可恢复的时间范围。

  • 更多数据恢复方案,请参见数据恢复方案概览

前提条件

常规库表恢复

  • RDS实例需满足以下条件:

    • 大版本:8.0、5.7或5.6

    • 系列:高可用系列

    • 存储类型:本地SSD盘

    说明
    • 您可以前往实例基本信息页面查看以上信息。

    • 云盘实例暂不支持常规库表恢复。如需变更存储类型,请参见云盘如何变更为本地盘

  • 实例的表数量需低于50000。

  • 若您初次使用RDS备份服务,您需要使用阿里云主账号完成DBS服务关联角色(AliyunServiceRoleForDBS)授权。具体操作,请参见如何授权DBS服务关联角色

  • 已在控制台备份恢复 > 备份策略 > 基础备份里将库表恢复设置为开启。

    重要
    • 新实例默认开启库表恢复功能,该功能开启后无法关闭。

    • 开启库表恢复功能前产生的备份数据,无法进行库表恢复。您可以参考恢复全量数据操作进行恢复。

    • 您需要在开启库表恢复功能后,先手动完成一次全量备份,再选择库表恢复功能开启后产生的备份数据进行库表恢复。

极速库表恢复

云盘

  • RDS实例需满足以下条件:

    • 大版本:8.0、5.7

    • 系列:高可用系列、基础系列(不支持Serverless实例)

    • 存储类型:SSD云盘、ESSD云盘

    • 实例所在地域:新加坡、华北5(呼和浩特)、西南1(成都)、华东1(杭州)、华东2(上海)、华北2(北京)、华北3(张家口)、华南1(深圳)

    说明

    您可以前往实例基本信息页面查看以上信息。

  • 若您初次使用RDS备份服务,您需要使用阿里云主账号完成DBS服务关联角色(AliyunServiceRoleForDBS)授权。具体操作,请参见如何授权DBS服务关联角色

  • 已在控制台备份恢复 > 备份策略 > 基础备份里开启极速库表恢复功能。具体操作,请参见开启极速库表恢复

本地盘

  • RDS实例需满足以下条件:

    • 大版本:8.0、5.7或5.6

    • 系列:高可用系列

    • 存储类型:本地SSD盘

    • 实例所在地域:华东1(杭州)、华东2(上海)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华南1(深圳)

    说明

    您可以前往实例基本信息页查看以上信息。

  • 实例的存储引擎必须为InnoDB。

  • 若您初次使用RDS备份服务,您需要使用阿里云主账号完成DBS服务关联角色(AliyunServiceRoleForDBS)授权。具体操作,请参见如何授权DBS服务关联角色

  • 实例未开启容量型沙箱实例,如已开启,请先关闭。更多信息,请参见应急恢复

  • 已在控制台备份恢复 > 备份策略 > 基础备份里开启极速库表恢复功能。具体操作,请参见开启极速库表恢复

    重要
    • 新实例默认开启库表恢复功能,该功能开启后无法关闭。

    • 开启库表恢复功能前产生的备份数据,无法进行库表恢复。您可以参考恢复全量数据操作进行恢复。

    • 您需要在开启库表恢复功能后,先手动完成一次全量备份,再选择库表恢复功能开启后产生的备份数据进行库表恢复。

极速库表5min恢复(公测)

  • RDS实例需满足以下条件:

    • 大版本:5.7、5.6

    • 系列:高可用系列

    • 存储类型:本地SSD盘

    • 实例所在地域:华东1(杭州)、华东2(上海)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华南1(深圳)

    说明

    您可以前往实例基本信息页查看以上信息。

  • 实例未开启TDE

  • 实例不含有只读实例

  • 实例的存储引擎必须为InnoDB,且表的Row Format必须为Dynamic或Compact。

  • 若您初次使用RDS备份服务,您需要使用阿里云主账号完成DBS服务关联角色(AliyunServiceRoleForDBS)授权。具体操作,请参见如何授权DBS服务关联角色

  • 已在控制台备份恢复 > 备份策略 > 基础备份里开启极速库表恢复功能。具体操作,请参见开启极速库表恢复

    重要
    • 新实例默认开启库表恢复功能,该功能开启后无法关闭。

    • 开启库表恢复功能前产生的备份数据,无法进行库表恢复。您可以参考恢复全量数据操作进行恢复。

    • 您需要在开启库表恢复功能后,先手动完成一次全量备份,再选择库表恢复功能开启后产生的备份数据进行库表恢复。

费用说明

常规库表恢复

常规的库表恢复功能默认开启,不会产生费用。若使用常规库表恢复功能恢复到新实例,由于数据是恢复到新实例上,因此需要收取新实例费用,费用详情可在创建实例时查看。

说明

极速库表恢复

  • 云盘:极速库表恢复功能当前公测免费。

  • 本地盘

    • 免费版:开启及使用极速库表恢复(免费版),不收费任何费用。

    • 付费版:开启及使用极速库表恢复(付费版)后,将根据数据量以按量付费形式进行计费。计费标准为:1元/GB/月

    说明
    • 免费版:支持按备份集恢复,或最近一个全量时间点恢复。

    • 付费版:支持按备份集和任意时间点恢复。

极速库表5min恢复

极速库表5min恢复功能目前正在公测中,开通该功能不收费。更多计费详情如下:

  • 免费版:开启及使用极速库表5min恢复(免费版),不收费任何费用。

  • 付费版:开启及使用极速库表5min恢复(付费版)后,将根据数据量以按量付费形式进行计费。计费标准为:1元/GB/月

说明
  • 免费版:支持按备份集恢复,或最近一个全量时间点恢复。

  • 付费版:支持按备份集和任意时间点恢复。

注意事项

  • 本地盘新实例的库表恢复功能默认开启,该功能开启后无法关闭。

  • 如果您需要按时间点恢复数据,需要确保实例日志备份处于开启状态。如何开启,请参见设置日志备份

  • 对于本地盘实例,开启库表恢复功能前产生的备份数据,无法进行库表恢复。您可以参考恢复全量数据操作进行恢复。

  • 对于本地盘实例,您需要在开启库表恢复功能后,先手动完成一次全量备份,再选择库表恢复功能开启后产生的备份数据进行库表恢复。

    说明

    开启库表恢复后,备份格式会修改(从tar压缩包变成xbstream文件包),用于支持库表恢复。

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

    重要

    云盘实例使用极速库表恢复功能恢复数据到原实例时,不会进行主备切换,但某些情况下恢复可能会影响原实例性能,甚至造成实例闪断。

  • 恢复任务发起后不支持暂停或取消。

使用限制

  • 极速库表恢复仅支持恢复到原实例,不支持恢复到新实例。

  • 如果恢复过程中的binlog日志包含对指定表进行重命名(rename)操作,或者该表中存在生成列(generated column),则库表恢复功能将无法对该表进行恢复。

  • 如果恢复过程中涉及的库表数据过多、数据量过大或者用户指定时间点内的binlog数量过多,可能会导致恢复时间过长。

开启极速库表恢复

若您需要使用极速库表恢复或极速库表5min恢复功能,您需先参考如下步骤开启极速库表恢复,再进行库表恢复。开启极速库表恢复操作对业务无影响。

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  2. 在左侧导航栏,单击备份恢复

    说明
    • 本地盘的极速库表恢复功能支持免费版和付费版两个版本,其中免费版仅支持最近一个全量时间点恢复数据,付费版支持任意时间点恢复数据。收费详情,请参见费用说明

    • 页面如果出现极速库表恢复商业化收费的弹窗,您可在勾选已知,不再提示后按需选择开启免费版或付费版。如未跳出该弹窗,请继续执行以下步骤。

  3. 备份恢复页面中选择备份策略页签。

  4. 单击基础备份区域后的编辑,将极速库表恢复设置为开启。

    说明
    • 对于MySQL本地盘实例,如果实例未开启库表恢复,则不会有库表恢复速度的选项。需要先单击库表恢复后面的开关开启库表恢复功能。更多库表恢复功能的详情内容,请参见注意事项

    • MySQL本地盘实例还需设置CDM付费类型CDM保留时长

      • 免费版:选择CDM付费类型为最近1个全量时间点(免费版),恢复后的数据保留时长固定为1天。

      • 付费版:选择CDM付费类型为任意时间点(付费版),恢复后的数据保留时长可按需设置1~730天。

  5. 单击确定

操作步骤

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  2. 在左侧导航栏单击备份恢复,然后单击库表恢复

    说明

    控制台如未显示库表恢复按钮,请参见前提条件确认功能使用条件是否满足。

  3. 设置恢复的位置和方式。

    参数

    说明

    恢复位置

    • 恢复到原实例

    • 恢复到新实例:后续根据步骤5指引,自动新建一个RDS实例,将原实例的库/表数据恢复到新实例中,该过程不影响原实例。

      在新实例中验证数据后,您也可以把数据迁移回原实例

    说明

    仅本地盘实例显示恢复到新实例选项。

    恢复速度

    • 常规

    • 极速:极速库表恢复功能通过性能型沙箱实例实现,可以在常规库表恢复功能的基础上,提升约50%~95%的恢复速度。

      若您已申请开启了极速库表5min恢复,无论数据量多大,恢复时间均在5分钟左右。

    说明
    • 云盘实例仅支持极速库表恢复,当前云盘实例的极速库表恢复功能正处于公测期可免费使用。

    • 极速库表恢复仅支持恢复到原实例,不支持恢复到新实例。

    恢复方式

    • 按备份集

    • 按时间点:系统先恢复全量备份数据,再恢复增量日志备份数据。此处您可以选择时间点为日志备份保留时间内的任意时间点。如需查看或修改日志备份保留时间,请参见自动备份

      例如:RDS实例的数据备份和日志备份保留时长分别为7天,则最多可以恢复7天内的数据。7天前的备份集未保留,因此无法恢复。

      说明

      只有开启了日志备份,才会显示按时间点。开启方法,请参见日志备份设置

  4. 选择要恢复的库表,还可以设置恢复后的库名或表名,然后单击确定

    说明
    • 每次最多选择50个库或者表。

    • 恢复到原实例时,恢复后库名可与原库名相同,但恢复后表名不能与原表名相同。系统默认会在恢复后库名后面添加_backup,您也可以自主修改库名或表名为其他名称。

    • 如果恢复到原实例,请确认底部显示的已勾选的库和表的总大小,以及该实例剩余存储空间,确保剩余存储空间是否足够。

  5. 本地盘实例如果进行常规库表恢复并恢复到新实例,需选择付费方式并设置新实例的参数。

    • 包年包月:在新建实例时需要支付费用,适合长期需求。

    • 按量付费:按小时扣费。适合短期需求,用完可立即释放实例。

    参数名称

    说明

    可用区

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

    您可以选择将RDS实例与ECS实例创建在同一可用区或不同的可用区。

    说明

    新实例的地域与原实例相同,不支持修改。

    规格

    每种规格都有对应的CPU核数、内存、最大连接数和最大IOPS。具体请参见实例规格表

    存储空间

    该存储空间包括数据空间、系统文件空间、日志文件空间和事务文件空间。

    网络类型

    • 经典网络:传统的网络类型。

    • 专有网络(推荐):也称为VPC(Virtual Private Cloud)。VPC是一种隔离的网络环境,安全性和性能均高于传统的经典网络。

    说明

    您可前往任务列表查看新实例创建进度。库表恢复的更多方式请参见:

订正在线数据

恢复位置

订正在线数据方法

恢复到原实例

使用RENAME TABLE语句对恢复后的表进行重命名。

恢复到新实例

恢复到新实例后,您可使用数据传输DTS将需要的部分或全部库表数据迁移至原实例以订正原实例在线数据。

说明

创建数据迁移任务时,请将已恢复的新实例作为源库,将原实例作为目标库,接入方式均选择云实例

常见问题

  • Q:RDS控制台执行库表恢复操作时,提示“操作失败,该实例状态下不支持此操作。”导致该提示的原因以及解决方法是什么?

    A:RDS控制台的任务为串行运行,当存在进行中的恢复任务或其他任务时,再次重复执行恢复操作会导致该提示。请等待上一个恢复任务或其他任务结束后,再执行下一个恢复任务操作。

  • Q:如果恢复后的表是空的,应该如何解决?

    A:请确认恢复库表时您所选择的时间点表的数据是否存在。若该时间点表无数据,请选择有数据的时间点后再进行库表恢复操作。

  • Q:针对单个误删除操作如何进行数据恢复?

    A:您可使用DMS数据追踪功能按需追踪到目标时间段内的相关更新,汇总生成逆向的回滚语句,并通过数据变更工单最终执行到数据库中完成数据的恢复。

  • Q:RAM子账号登录RDS控制台备份恢复页面,找不到库表恢复按钮?

    A:如果您无法正常使用库表恢复功能,请检查您的RAM账号是否已添加AliyunDBSFullAccess权限。如何授权,请参见为RAM用户授权

  • Q:库表恢复功能和应急恢复功能应该如何选择?

    A:库表恢复功能是指在误删除、误修改或其他意外导致数据丢失或损坏时,使用RDS提供的库表恢复功能,选择需要恢复的库和表,将数据还原到指定时间点的状态。适用于对特定库和表进行数据恢复的情况,例如在误操作导致部分数据丢失时,只需要对受影响的表进行恢复。

    应急恢复功能是指在误操作或其他意外导致数据丢失或损坏时,使用RDS提供的快速恢复功能将数据还原到某个指定时间点的状态。适用于数据丢失或损坏的紧急情况,例如误删、意外修改等情况,该功能需要开启沙箱。

    说明

    极速库表恢复功能需要关闭应急恢复功能,由于同一时间只能开启一种数据恢复功能,请根据需求进行选择并关闭不需要的功能。更多数据恢复方案,请参见数据恢复方案概览

  • Q:RDS云盘实例还有其他恢复库表的方法吗?

    A:您可以使用数据库备份DBS对云数据库、ECS自建数据库进行备份与恢复,同时DBS也支持将云上备份集下载到本地。

    说明

    库表恢复的更多方式,请参见库表级恢复通过mysqldump进行备份和恢复

相关API

API

描述

RestoreTable

恢复RDS实例的某个数据库或表到原实例上。

CloneDBInstance

恢复RDS实例的某个数据库或表到新实例上。

DescribeLocalAvailableRecoveryTime

查询RDS实例备份可恢复的时间范围。

阿里云首页 云数据库 RDS 相关技术圈