下载备份文件

PolarDB支持将集群备份集对应的备份文件下载到您的本地,用于长期保存备份、查询备份中的历史数据、进行备份转存(如OSS)以及审计等业务场景的需求。

说明

下载的备份数据无法直接用于恢复到PolarDB MySQL集群,您可以将下载的备份文件恢复至自建MySQL数据库

发布时间

20231124

说明

当前备份文件下载功能灰度发布中,将陆续开放。

费用说明

备份文件下载功能支持使用URL下载(暂存在DBS内置存储中)或转存至您的OSS。不同下载目标的收费方式存在差异,具体如下:

说明
  • 若下载任务失败,则不会产生任何费用。

  • 您可以进入PolarDB控制台,在集群的配置与管理 > 备份恢复 > 备份下载列表中,查看当月备份计算数据量当月外网流出流量

存储费用

  • URL:暂存在DBS内置存储中,不收取存储费用。

  • OSS:转存至您的OSS中。具体存储费用,请参见对象存储OSS的存储费用

备份集转换费用

无论下载目标是URL还是OSS,在将备份集转换为SQL、CSV、ParquetCSV-with-header格式时,都会收取相应的转换费用,且无免费额度。具体计费标准如下:

地域

转换费用(元/GB)

公共云相关地域

0.2

金融云相关地域

0.38

政务云相关地域

0.4

流量费用

  • URL

    • 内网下载:免费。

    • 外网下载:免费额度为500 GB/月/集群,超出免费额度的部分将按量计费,根据下载数据量每天扣费一次。具体费用单价,请参见网络费用

    说明

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

  • OSS:转存至您的OSS中。具体流量费用,请参见对象存储OSS的流量费用

前提条件

  • 集群:仅企业版集群中的集群版系列支持备份文件下载功能。

  • 地域:西南1(成都)、华南3(广州)、华北1(青岛)、华北2(北京)、华东2(上海)、华北3(张家口)、华东1(杭州)、华南1(深圳)、中国香港、马来西亚(吉隆坡)、印度尼西亚(雅加达)、日本(东京)、新加坡、美国(硅谷)、美国(弗吉尼亚)、德国(法兰克福)。

    说明

    其余地域将陆续上线。

  • 其他

    • RAM账号需要具备下载备份文件的权限。如需为RAM账号授权,请参见RAM账号权限说明

    • 备份数据未加密,加密的PolarDB集群不支持下载备份文件。

使用限制

  • 仅支持导出大部分的表结构,部分结构信息暂不支持导出:

    • 支持导出:列信息、主键索引、非主键索引、唯一索引、分区表信息、表引擎、表级别或库级别的字符集与字符排序规则。

    • 不支持导出:表达式索引、外键、生成列、隐藏列、视图、函数、存储过程、系统变量、触发器。

  • 不支持空间数据类型的字段。当数据包含了以下类型的字段时,转换任务会失败:

    GEOMETRYPOINTLINESTRINGPOLYGONMULTIPOINTMULTILINESTRINGMULTIPOLYGONGEOMETRYCOLLECTION

  • 导出的文件中不包含如下系统库:

    information_schemamysqlperformance_schemasys__recycle_bin__

  • 若选择下载目标为OSS时,OSS的存储类型需为标准存储。如需转换存储类型,请参见存储类型转换

    说明

    OSS Bucket手动创建。如您已创建了用于存放备份文件的Bucket,请忽略。

  • 备份文件下载功能仅支持下载一级备份的数据,不支持下载二级备份的数据。

  • 若集群开启了冷数据归档,则不支持下载归档后的冷数据。

操作步骤

(推荐)控制台操作

  1. 登录PolarDB控制台,在左侧导航栏单击集群列表,选择集群所在地域,并单击目标集群ID进入集群详情页。

  2. 在左侧导航栏中,单击配置与管理 > 备份恢复

  3. 数据备份列表中,单击目标备份集右侧操作列的集群备份下载

    image

    说明
    • 默认展示近8天内的备份数据,如需查看8天前的备份,请修改时间范围。

    • 如控制台页面没有集群备份下载按钮,请确认您的集群产品版本或所在地域是否满足前提条件

  4. 下载时间点与备份集流程下方,选择按时间点下载按备份集下载,并单击页面左下角的下一步

    image.png

  5. 下载实例与库表流程下方,单击页面左下角的下一步。此处固定为实例下载

  6. 下载目标与格式流程下方,选择下载目标与格式,并完成配置。

    重要
    • 推荐您选择下载目标为OSS,该方式更节省时间。

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

    • 备份下载任务将产生相应的费用。具体详情,请参见费用说明

    (推荐)OSS

    下载目标为OSS是将数据直接写入您的OSS中。使用完成后,您可按需自行删除。

    1. 填写您OSSBucket Name以及目录前缀(如xx/xx)。

      说明
      • OSS Bucket手动创建。如您已创建了用于存放备份文件的Bucket,可直接填写。

      • OSS的存储类型需为标准存储。如需转换存储类型,请参见存储类型转换

    2. 选择下载格式,当前支持设置下载格式为CSV、SQL、Parquet、CSV-with-header。您可根据实际业务需求进行选择。

    3. 阅读并勾选相关须知内容,单击完成。页面自动跳转至备份下载列表页签,等待任务下载完成。

      说明
      • 备份文件下载功能需要授权DBS服务获取您的云资源,如果您在此之前未授权过访问权限,可按照控制台界面提示单击去授权 > 确认授权。授权成功后,您可返回之前已编辑的高级下载配置界面,按如上操作填写信息即可。

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

      • 对于失败的任务,不会产生任何费用。

    4. 查看备份文件:若下载任务的状态为成功,则表示已下载成功,您可以前往对应的OSS Bucket中查看。

    URL

    下载目标为URL时,系统会将转换的数据暂存在DBS内置存储中,此过程不会收取存储费用

    说明

    使用URL下载涉及到数据打包,需要额外的等待时长,具体与备份集的备份逻辑大小有关。若备份逻辑大小较大(如超过1 TB),建议您选择下载到OSS。

    1. 选择下载格式,当前支持设置下载格式为CSV、SQL、Parquet、CSV-with-header。您可根据实际业务需求进行选择。

    2. 阅读并勾选相关须知内容,单击完成。页面自动跳转至备份下载列表页签,等待任务下载完成。

      说明
      • 备份文件下载功能需要授权DBS服务获取您的云资源,如果您在此之前未授权过访问权限,可按照控制台界面提示单击去授权 > 确认授权。授权成功后,您可返回之前已编辑的高级下载配置界面,按如上操作填写信息即可。

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

      • 对于失败的任务,不会产生任何费用。

    3. 查看备份文件:若下载任务的状态为成功,则表示已下载成功,您可以单击下载目标列的生成链接,设置链接有效期并单击生成链接,即可通过生成的内网或外网链接下载备份数据。

      说明
      • 您可在下载任务完成后三天内获取下载链接,链接有效期范围可设置为5分钟~1天,默认有效期为2小时。

      • 完成的任务三天后将过期(下载链接将过期),任务过期后其对应数据会被清理(清理在任务过期后一段时间自动执行)。因此,如有业务需求,请重新发起下载任务获取新的下载链接。

      • 请您及时保存下载链接,避免泄露。

      • 使用一些第三方下载软件下载备份文件时可能会产生额外下载流量,从而导致额外计费,建议您谨慎使用。具体下载方法,请参见下载命令

API操作

  1. DescribeDownloadSupport:查询您的集群是否支持备份文件下载功能。

    说明

    API返回不支持,请确认您的集群产品版本或所在地域是否满足前提条件

  2. CreateDownload:创建备份文件下载任务。

    说明
    • 备份文件下载功能需要授权DBS服务获取您的云资源(AliyunDBSDefaultRole权限),如果您在此之前未授权过访问权限,您可先按照控制台操作进行授权。

    • TargetType(下载目标类型)为OSS时,请注意需先手动创建相应的Bucket,并且OSS的存储类型需为标准存储

    • TargetType(下载目标类型)为URL时,需保留返回参数TaskId(任务ID)用于获取下载链接。

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

    • 备份下载任务将产生相应的费用。具体详情,请参见费用说明

  3. (可选)DescribeDownloadTask:查看当前集群的备份文件下载任务信息,包括下载任务的状态。

  4. 获取备份文件:

    • 下载目标类型为OSS时,系统会将数据直接写入您的OSS中,您可以在相应的Bucket中查看。

    • 下载目标类型为URL时,您可以使用DescribeDownloadBackupSetStorageInfo来获取下载链接。

      说明
      • 您可在下载任务完成后三天内获取下载链接,链接有效期范围可设置为5分钟~1天,默认有效期为2小时。

      • 完成的任务三天后将过期(下载链接将过期),任务过期后其对应数据会被清理(清理在任务过期后一段时间自动执行)。因此,如有业务需求,请重新发起下载任务获取新的下载链接。

      • 请您及时保存下载链接,避免泄露。

      • 使用一些第三方下载软件下载备份文件时可能会产生额外下载流量,从而导致额外计费,建议您谨慎使用。具体下载方法,请参见下载命令

常见问题

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

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

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

使用下载的备份文件恢复到本地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;。上述操作完成后,再次执行导入脚本即可成功。

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

下载的备份文件经过压缩,一般小于控制台显示的备份大小,您可以恢复后查看数据是否完整。

下载的备份文件是否支持直接恢复至其他PolarDB集群中?

当前不支持直接将下载的备份文件恢复至其他PolarDB集群。您可以先将备份文件恢复至自建MySQL数据库,再通过DTS自建MySQL迁移至PolarDB MySQL

附录

RAM账号权限说明

备份文件下载功能的鉴权能力依赖于RAM的权限管理,您可以通过RAM为您的账号配置获取下载链接串的权限。

授予RAM账号下载备份文件的权限

如果您无法正常使用下载备份功能(例如创建、查询下载任务),请检查您的RAM账号是否已添加管理数据灾备的权限AliyunDBSFullAccess)。如何授权,请参见RAM用户授权

禁止RAM账号获取备份文件的下载链接

如果您的RAM账号需要拥有备份恢复的使用权限,但需要禁止该RAM账号获取备份文件的下载链接,您可以创建自定义权限策略禁止RAM账号调用获取下载链接的接口,参考脚本如下:

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "dbs:DescribeDownloadBackupSetStorageInfo",
            "Resource": "*"
        }
    ]
}

自定义权限策略创建完成后,请将该自定义权限策略授权到您的RAM账号中。此时,您的RAM账号就会被禁止获取下载链接。

允许只读RAM账号下载备份文件

基于安全角度考虑,若RAM账号对PolarDB资源的权限为只读访问数据库POLARDB的权限(AliyunPolardbReadOnlyAccess,则该只读RAM账号无法下载备份文件。

在这种情况下,如果该RAM账号需要具有下载备份文件的权限,可以为该RAM账号授予只读访问数据灾备的权限(AliyunDBSReadOnlyAccess。授权后,该RAM账号就可以查看已创建的备份下载任务对应的下载链接了。如何授权,请参见RAM用户授权

image.png

下载命令

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

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

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

wget

nohup wget -c -t 0 "备份文件下载地址" -O 下载的目标路径及文件名 > 下载输出日志到对应文件 &

参数说明

参数

说明

nohup

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

-c

支持断点续传。

-t

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

-O

指定下载的目标路径及文件名。

示例

nohup wget -c -t 0 "http://dbs-xxx.aliyuncs.com/xxx.tar.gz?xxx" -O /backup/examplebackup.tar.gz > /tmp/download.log &

curl

nohup curl -C - --retry 10 "备份文件下载地址" -o 自定义文件名 > 下载输出日志到对应文件 &

参数说明

参数

说明

nohup

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

-C -

支持自动断点续传。

--retry

重试次数,设置为10时,表示重试10次。

-o

指定下载的目标路径及文件名。

示例

nohup curl -C - --retry 10 "http://dbs-xxx.aliyuncs.com/xxx.tar.gz?xxx" -o /backup/examplebackup.tar.gz > /tmp/download.log &