下载备份

如果您的业务场景(例如长期保留备份、备份查询、备份迁移、下载备份用于审计等)需要下载RDS MySQL的备份数据,可参考本文操作。

下载前必读

  • 任务失败不产生任何费用。

  • 备份下载任务一旦开始,不可取消。

  • 下载的备份数据无法直接用于恢复到RDS实例,如需恢复实例,请参见数据恢复方案概览

  • 直接下载备份并非总是最优选择。在开始下载前,先确定实例类型和使用场景,以便选择最高效、经济的方案。

费用说明

高性能本地盘实例使用备份下载功能可能会产生外网流量费用,云盘实例使用备份下载功能可能会产生外网流量费用和备份集转换费用。

说明

如果您的备份下载目标为OSS,将依据实际使用情况收取相应的OSS费用。

流量费用

  • 内网下载:免费。

  • 外网下载:每个实例每月享有 500 GB 免费额度,超出部分按量计费,可在 RDS 实例的基本信息页查看已下载流量。具体费用单价,请参见网络费用

说明
  • 云盘实例和高性能本地盘实例均可选择内网下载或外网下载。

  • 云盘实例的快照备份下载发起后,系统会产生一个数据转换的下载任务。在任务未完成期间(包括进行中和失败),无法获取下载链接,且不会产生或收取外网流量费用。任务成功完成后,用户使用下载链接时将按实际产生的流量收费。

  • 高性能本地盘实例的物理备份下载不涉及数据转换,用户可直接获取下载链接,在使用链接下载时按实际产生的流量收费。

  • 查看外网备份已下载量请进入RDS实例列表,单击实例ID,在基本信息页面的实例资源区域查看备份下载量

  • 建议您购买包年包月的网络包,可以抵扣账号下外网下载备份产生的网络流量费用,网络包容量越大折扣越高。

备份集转换费用

云盘实例使用高级下载功能时,快照备份转换为CSV(不带表头)、CSV-with-header(带表头)、SQLParquet文件的费用。无免费额度,计费标准如下:

地域

转换费用(元/GB)

公共云

0.2

金融云/微金融云

0.38

政务云

0.4

说明

云盘实例的快照备份下载发起后,系统会产生一个数据转换的下载任务,该任务失败时不收取备份集转换费用。

云盘实例下载

云盘实例支持按任意时间点或按指定备份集创建高级下载任务,可以将快照备份按需转换为CSV、SQL 或Parquet格式,并支持选择下载目标为URL或直接将备份文件保存至您的OSS中。

下载前检查清单

在开始操作前,请确认实例满足以下所有条件。

  • 实例状态:运行中。

  • 存储类型:ESSD云盘或高性能云盘。

  • 数据库版本:MySQL8.0 或 5.7。

  • 地域支持:西南1(成都)、华南1(深圳)、华南3(广州)、华北1(青岛)、华北2(北京)、华北3(张家口)、华东1(杭州)、华东2(上海)、中国香港、马来西亚(吉隆坡)、印度尼西亚(雅加达)、日本(东京)、新加坡、美国(硅谷)、美国(弗吉尼亚)、德国(法兰克福)。其余地域将陆续上线,请以实际控制台显示为准。

  • 内核小版本:必须高于 20201031。若实例内核小版本不符合要求,请升级内核小版本

    重要

    若实例内核版本达标但实例备份下载按钮仍无法点击,很可能是开启了数据库代理。因为部分实例受硬件限制不支持高级下载。您需要先关闭数据库代理,再升级内核小版本,功能才能生效。问题解决后,可按需重新开启代理服务。

  • 备份加密:未开启。已加密的云盘实例不支持高级下载功能。

  • 数据归档:未开启。已开启数据归档功能的高性能云盘实例暂不支持高级下载功能。

  • RAM 权限:RAM账号需要具备下载备份文件的权限。如需为RAM账号授权,请参见添加下载备份文件权限给只读RAM账号

下载功能限制

  • 不支持的对象:下载的备份文件中不包含表达式索引、外键、生成列、隐藏列、视图、函数、存储过程、系统变量、触发器。

  • 不支持的数据库:下载内容不包含 information_schemamysqlperformance_schemasys__recycle_bin__ 等系统库。

  • 不支持的数据类型:若表中包含 GEOMETRYPOINTLINESTRINGPOLYGONMULTIPOINTMULTILINESTRINGMULTIPOLYGONGEOMETRYCOLLECTION 等特殊数据类型,可能导致下载任务失败。

  • 存储类型限制:当下载目标为OSS时,目标Bucket的存储类型必须为标准存储。如果您希望将下载的备份以其他存储类型保存至OSS,可以通过以下方式进行处理:

    • 方式一:将备份下载至标准存储Bucket中,然后转换存储类型

    • 方式二:将备份下载至本地,然后再上传至目标Bucket中。

操作步骤

  1. 进入备份列表

    1. 访问 RDS实例列表,选择实例所在地域后,单击目标实例ID。

    2. 在左侧导航栏中,单击备份恢复 > 基础备份列表

  2. 发起下载任务

    • 下载日志备份:在日志备份页签,找到目标日志文件,单击其操作列的下载,即可获取下载链接。需开启日志备份。

    • 下载数据备份:在数据备份页签,找到目标备份集,单击其右侧操作列的实例备份下载

  3. 实例备份下载参数配置

    1. 下载时间点与备份集步骤,根据需要选择按备份集下载按时间点下载,然后单击下一步

    2. 下载实例与库表步骤,保持默认(实例下载),单击 下一步。

    3. 下载目标与格式步骤,配置下载目标和格式。

      下载目标

      配置说明

      OSS(推荐)

      1. 输入目标OSS的 Bucket 名称和目录前缀。

      2. 选择下载格式:CSV(不带表头)、CSV-with-header(带表头)、SQL、Parquet。

      3. 若首次使用,需按提示单击 去授权 > 同意授权 以授予RDS访问 OSS的权限。

      URL

      1. 选择URL

      2. 选择下载格式。

      3. 任务成功后,需要手动生成下载链接,链接有时效性。

  4. 确认并执行 阅读并勾选须知内容,单击完成。页面将自动跳转至备份下载列表页签,可以监控任务状态。

  5. 获取备份文件

    • OSS方式:等待任务状态变为成功后,文件将自动下载到指定的OSS Bucket和目录中。

    • URL方式:等待任务状态变为成功后,请在有效期内(3)单击下载目标列的生成链接,设置链接有效期后( 5分钟至1天,默认2小时)即可获取内网或外网下载地址。任务和链接过期后,临时数据将被自动清理,届时您需要重新发起下载任务。

    重要

    由于计算转换需要在服务侧竞争计算资源,可能会出现临时资源分配失败而导致下载失败;此外,某些不支持的特殊数据格式也可能导致下载失败。当任务失败时,建议您先尝试重试下载任务。

  6. 使用命令行工具下载文件

    获取URL下载链接后:

    • 使用wget、curl等命令行工具进行下载(推荐),请参考本文附录1:下载命令详细介绍。

    • 当文件较小时,可以直接复制外网链接到浏览器地址栏。

高性能本地盘实例下载

高性能本地盘实例的备份下载流程更直接,无需数据格式转换,可以立即获取物理备份或日志备份的下载链接。

下载前检查清单

在开始操作前,请确认实例满足以下所有条件。

操作步骤

  1. 进入备份列表

    1. 访问 RDS实例列表,选择实例所在地域后,单击目标实例ID。

    2. 在左侧导航栏中,单击 备份恢复 基础备份列表

  2. 获取下载链接

    1. 选择数据备份日志备份页签。

    2. 找到目标备份文件,单击其右侧操作列的实例备份下载(数据备份或下载(日志备份)。

    3. 在弹出的对话框中,可以直接复制内网地址或外网地址。

      • 内网地址:推荐使用。需在同地域专有网络(VPC)的阿里云ECS上下载,速度快且免费。不支持跨地域内网下载。

      • 外网地址:适用于从本地或其他网络环境下载。

  3. 使用命令行工具下载文件

    获取URL下载链接后:

    • 使用wget、curl等命令行工具进行下载(推荐),请参考本文附录1:下载命令详细介绍。

    • 当文件较小时,可以直接复制外网链接到浏览器地址栏。

说明
  • 备份下载链接1小时内有效,请您及时下载,避免链接过期。若已过期,请重新发起下载任务获取新的下载链接。已开始的下载任务不受链接有效期影响。

  • 日志备份是指本地日志的备份。如需获取本地日志,请参见mysqlbinlog

  • 当实例是高可用系列时,主备实例都会生成日志备份,在服务可用性页面可以查看主备实例的编号。

  • 如果用于恢复数据到自建数据库,数据备份的时间点必须在日志备份的时间范围内,且日志备份和数据备份必须属于同一实例,即备份所在实例编号相同。

附录1:下载命令

获取URL下载链接后,推荐使用wget、curl等命令行工具进行下载,以支持断点续传并保证稳定性。

说明
  • 如果网络下载速度过低(小于每秒64 KB),可能会导致下载中断的情况,请下载时保持网络状况良好。

  • 如果将备份文件下载到ossfs挂载盘,一般还需要调整ossfsmultipart_size参数,该参数默认支持最大100GB文件,如果下载的备份集大于100 GB将会下载失败。ossfs概述及参数配置详情请参见ossfs挂载选项说明

  • 推荐使用本文提供的wget、curl等命令下载备份集。如果使用其他第三方工具下载,可能会出现重复下载的情况(即实际下载数据量大于备份集大小),且会因使用外网流量下载而产生超出备份集大小部分的流量费用。

wget

nohup wget -c -t 0 "备份文件下载地址" -O 下载后的保存路径及文件名 > 下载过程监控日志 &

参数说明:

参数

说明

nohup

避免因终端断开连接或手误执行复制操作而中断下载,且当下载完毕后,进程将会自动退出。

-t

重试次数,设置为0时表示无限重试。

-c

支持断点续传。

-O

下载后的保存路径及文件名。

示例:

nohup wget -c -t 0 "https://dbs-****.aliyundoc.com/****.tar.gz****" -O /backup/examplebackup.tar.gz > /tmp/download.log &

curl

nohup curl -C - --retry 10 "备份文件下载地址" -o 下载后的保存路径及文件名 > 下载过程监控日志 &

参数说明:

参数

说明

nohup

避免因终端断开连接或手误执行复制操作而中断下载,且当下载完毕后,进程将会自动退出。

--retry

任务失败时的重试次数,设置为10时,表示重试10次。

-C -

支持自动断点续传。

-o

下载后的保存路径及文件名。

示例:

nohup curl -C - --retry 10 "https://dbs-****.aliyundoc.com/****.tar.gz****" -o examplebackup.tar.gz > /tmp/download.log &

附录2:使用场景

场景和目的

建议

  • RDS实例迁移至其他RDS实例或自建数据库

  • 恢复已有的备份

选择以下其中一种方式:

  • 查询过去某个时间点的数据

  • 查询备份里的数据

选择以下其中一种方式:

  • 把备份恢复至按量付费或Serverless实例,查询后释放实例。请参见恢复全量数据

  • 参见本文,下载备份并恢复至自建数据库进行查询。

  • 在本地保存一份备份

  • 下载备份用于审计

选择以下其中一种方式:

把备份上传到OSS

RDS备份存放于备份空间,不占用存储空间,如需在OSS上存放备份,您可以选择以下其中一种方式:

  • 符合条件的云盘实例可参见本文创建高级下载任务并在任务配置过程中,选择直接将下载的数据保存到OSS中;其余云盘实例或高性能本地盘实例可参见本文先下载备份,然后再上传到OSS

  • 使用DBS进行备份,并选择存储类型为用户OSS。后续可直接通过数据灾备将OSS中的备份数据恢复至RDS。

长期保留备份

自动下载备份

下载Binlog

  • 云盘实例:在开启日志备份功能后(默认已开启),本地日志(Binlog)将实时上传(复制)至备份空间,从而形成日志备份。下载相应时间点的日志备份即可,详细操作请参见云盘实例下载

  • 高性能本地盘实例:请参见高性能本地盘实例下载

相关文档

下载常见问题

RDS数据库备份是否可以上传到OSS?

RDS MySQL云盘实例支持按任意时间点或按指定备份集创建高级下载任务,并支持直接将下载的数据保存到您的OSS中。具体操作,请参见本文云盘实例下载。您也可以将RDS MySQL云盘或高性能本地盘的备份先下载到本地,然后再上传大文件到OSS

MySQL备份外网下载,带宽有限制吗?

RDS本身是没有带宽限制的,外网下载备份的速度取决于您服务器的带宽。如果您的服务器带宽有限,那么备份下载的速度可能会受到限制。此外,需要注意的是,通过外网链接下载备份数据时,超出外网下载免费额度后需要支付外网流量费用。更多信息,请参见费用说明

如何使用下载的数据备份和日志备份?

您可以将高性能本地盘实例常规下载的备份文件恢复至自建数据库,详见RDS MySQL物理备份文件恢复到自建数据库RDS MySQL逻辑备份文件恢复到自建数据库

高性能本地盘物理备份默认的qp.xb备份格式能否转为.gz格式?

  • 如果实例已开启恢复库表功能,备份压缩格式必须使用qp.xb,不支持转换格式。

  • 如果实例未开启恢复库表功能,可以通过API(ModifyBackupPolicy - 修改实例备份策略)将备份集压缩格式从qp.xb改成tar.gz。该操作仅涉及备份集压缩方式的变化,不会对实例产生其他影响。

使用云盘实例高级下载的数据恢复到本地MySQL数据库时,执行出现报错ERROR 1148 (42000): The used command is not allowed with this MySQL version,如何处理?

MySQL上执行查询脚本show variables like 'local_infile';。如果结果是OFF,执行以下语句开启文件导入:set global local_infile = 1;。上述操作完成后,再次执行导入脚本即可成功。

为什么在控制台看到的备份大小与实际下载的备份文件大小不一致?

下载的备份文件经过压缩,一般小于控制台显示的备份大小,您可以恢复后查看数据是否完整,详见RDS MySQL快照备份文件恢复到自建数据库

RDS控制台下载的备份文件是否支持直接恢复至其他阿里云RDS实例中?

RDS控制台下载的备份文件无法直接恢复到新的RDS实例中,您可以:

正在进行中的备份下载任务能否取消?

备份下载任务一旦开始,不支持取消。

备份列表有部分数据缺失怎么办?

可以采用以下步骤处理:

  1. 恢复全量数据至新实例。

  2. 在新实例上检查并确认哪些表或数据存在缺失。

  3. 从原实例中导出缺失的表或数据。

  4. 使用DTS工具将导出的数据从原实例同步回已经恢复的新实例中。

使用内网地址下载备份时,报错“ERROR 403: Forbidden.”如何处理?

  1. 检查实例是否满足内网连接条件,确保专有网络中的ECSRDS内网互通。

  2. 检查下载命令格式是否正确,例如下载地址是否使用了中文双引号。

若仍无法通过内网访问RDS,可尝试使用外网地址下载备份。

备份列表中已过期的备份信息如何删除?

备份下载列表中的信息无法删除,且不会影响实例的使用。

下载的备份文件可以直接导入自建数据库吗?

物理备份无法直接导入自建数据库。若需导入,建议手动创建逻辑备份并下载到本地后再进行导入。

使用wget命令下载备份时,报错“ERROR 504:Gateway Time-out.”如何处理?

使用wget命令时,建议增加--read-timeout=300 --connect-timeout=300参数。

下载备份会占用当前实例的带宽吗?

不会。

内网下载不影响实例带宽。外网下载仅会计费,只依赖本地网络带宽。

为什么使用下载命令下载备份后,查看文件是乱码?

备份下载到本地或ECS实例后,执行tar -izxvf <压缩包文件名>.tar.gz -C <解压缩后的文件位置>解压后在对应文件夹查看。

下载的备份文件如何命名的?

备份文件是以实例的主机编号和时间进行命名的。

下载备份文到OSS时报错“Unsupported bucket XXX's StorageClass is IA, Please Use bucket's StorageClass is Standard”如何处理?

下载备份的目标为OSS时,目标Bucket存储类型必须为标准存储。如果您希望将下载的备份以其他存储类型保存至OSS,可以通过以下方式进行处理:

  • 方式一:将备份下载至标准存储Bucket中,然后进行存储类型转换

  • 方式二:将备份下载至本地,然后再上传至目标Bucket中。

为什么在控制台找不到备份下载的相关按钮?

  • 若您的实例是主实例,需要满足备份下载前提条件

  • 若您的实例为只读实例,由于只读实例不进行数据备份,因此需要在其对应的主实例上进行下载。

为什么在没有下载备份的情况下,仍然产生了相关费用?

很可能收取了备份集转换费用。在使用云盘实例的高级下载功能时,快照备份转换为CSV(不带表头)、CSV-with-header(带表头)、SQLParquet文件将会产生相应的费用。您可以在备份下载列表中查看到对应的备份转换流量

更多关于备份下载的问题请参见备份下载的常见问题