备份管理

设置自动备份

数据备份可以帮助用户在发现误操作后能尽快将数据库恢复到误操作之前的指定时刻,从而最大化地避免损失。备份集每天自动备份一次,云数据库 RDS 支持通过设置自定义备份周期全面满足用户不同的备份需求,从而减轻用户自运维的负担。

备份方式

目前云数据库 RDS 提供两种备份方式:

  • 按磁盘空间备份:备份数据免费存储,且大小不超过免费赠送的存储空间。自动备份默认最多保留30天。若存储时间即将超过30天且备份存储空间不足,系统将按照备份由旧至新的顺序,自动删除较旧的备份。
  • 按时长备份:备份数据按照时长存储。若大小超过免费赠送的存储空间,超过部分将进行计费。您可自定义备份保留时长(7-730天),系统将按照您设置的策略来删除过期备份。
  • 按照不同的数据库类型及系列划分,如下表格:
数据库类型 系列 按磁盘空间备份 按时长备份
MySQL 单机基础版 支持 ——
MySQL 双机高可用版 支持 支持
MySQL Raft金融版 —— ——
SQL Server 单机基础版 支持 ——
SQL Server 双机高可用版 支持 支持
PostgreSQL 双机高可用版 —— ——

说明:

  • 云数据库 RDS 免费赠送您:本地磁盘大小的备份存储空间。
  • 备份方式支持按磁盘空间和按时长两种方式,请您根据需要选择。
  • 若备份大小超过免费赠送的存储空间大小,超过部分将计费。详情请参考备份存储计费
  • 单机基础版仅支持按磁盘空间备份。
  • 云数据库 RDS for PostgreSQL 当前仍只保留7天备份,自定义备份策略功能会尽快支持,如有特殊需求可工单联系我们,谢谢!

操作指南

1.在实例的“备份”页面,可以看到已创建的备份(快照)列表及各备份信息。
image.png

2.点击“设置自动备份”按钮,设定备份保留方式、开始备份时间、自动备份周期,并查看备份存储空间使用状况。点击“确定”,自动备份设置成功,备份任务按照此计划自动定时进行。目前提供两种备份方式:

  • 按磁盘空间备份:备份数据免费存储,且大小不超过免费赠送的存储空间。
    shezhi1.png
  • 按时长备份:备份数据按照时长存储。若大小超过免费赠送的存储空间,超过部分将进行计费。
    shezhi2.png

手动创建备份

点击备份子页面的“手动备份”,即开始备份,约耗时数分钟,此过程中该 RDS 实例无法进行任何管理操作。

image.png

下载备份

当用户需要对某一个备份数据做本地恢复时,可以下载备份数据。

1.在备管理页面,点击相应备份的操作列中的“下载”。

image.png

2.选择“直接下载”或“复制链接”,即可完成备份下载到。

image.png

说明:
请确认您本地的数据库版本和欲恢复的数据库版本一致,如当您希望恢复 云数据库 RDS 实例为 MySQL5.6 版本,则本地数据库也需要为 MySQL5.6 版本。

下载的备份数据不能直接在本地建立的MySQL数据库上使用,下载后需要通过XtraBackup工具处理。处理过程如下:

  1. 下载最新版本的 xtrabackup 程序完成后,首先解压 backup.gz,再使用 xtrabackup 中附带的解包工具进行解包,执行命令:mkdir -p /home/mysql/data_dir && gzip -d -c backup.gz | xbstream -x -C /home/mysql/data_dir
  2. 完成解压及解包后应用 innodb的redo-log,执行命令:innobackupex --defaults-file=/home/mysql/data_dir/backup-my.cnf --apply-log /home/mysql/data_dir
  3. 本地安装 MySQL 数据库,保持数据库版本与 云数据库 RDS 版本一致;
  4. 使用 /home/mysql/data_dir 文件夹作为数据目录,添加 --skip-grant-tables 参数启动数据库;
  5. 登录数据库执行 flush privileges 后,重新授权数据库账户;
  6. 重启数据库;
  7. 使用新账号密码登录数据库。

恢复备份

当前恢复功能将会覆盖整个实例的数据,且不支持单库单表恢复,会造成较大的风险。鉴于数据安全考虑,目前已下线恢复备份功能。

说明:

  • 若您需要恢复整个实例的数据,推荐您使用克隆实例功能。有关克隆实例详细说明请查看下文。

克隆实例

应用场景

克隆实例通过备份+ binlog 方式恢复创建一个和原实例数据及配置(备份设置、参数设置等)均一致的新实例,克隆实例能最大化帮助用户减少因为误操作导致的线上数据丢失或损坏,误操作后用户通过克隆实例将数据库恢复到误操作前的指定时刻。

克隆实例的典型使用场景有:

  • 数据库误操作,将数据库恢复到过去某个指定的自动/手动可用备份集;
  • 数据库误操作,将数据库恢复到过去某个指定时间点;
  • 将数据库某张数据表/某个数据库数据恢复到一张新表/一个新库;
  • 不影响线上环境正常运行的前提下,创建一个同线上环境一致的测试环境。

说明:

  • 克隆实例目前仅支持 MySQL 类型的数据库。
  • 克隆实例的计费标准和主实例计费相同,详细计费请参见产品定价

原理说明

克隆实例支持按照时间点和按备份集两种方式复制新实例进行数据恢复。备份集为所有已经完成并可用的备份的数据集,每一个备份集的名称为备份完成的时间点。按时间点还原的时间范围为最早的一个可用备份集的完成时刻到当前时刻(若没有可用备份集则时间点不可选),默认时间点为当前时刻。

说明:
当用户选择了按时间点克隆实例,如果备份时间点到目标时间点之间发生了升级/数据恢复/xmaster修复,选择完时间点后会报错并告知原因。

克隆的新实例名称统一为“$原实例名_replica”,克隆实例创建过程中,主实例状态及运行不受影响。新实例的地域、可用区、数据库类型及版本均与主实例一致,但实例规格可以高于主实例。

  1. 如果要按备份集克隆实例,则主实例备份集至少有一份备份副本。

  2. 只支持主实例的克隆,如果原实例下挂载了只读和代理实例,克隆操作只克隆主实例;

  3. 新实例的白名单设置、备份设置、参数设置均和主实例保持一致;外网开通设置不受原实例影响,默认关闭;

  4. 新实例内的数据库信息只与选择克隆的备份集当时的信息一致;

  5. 新实例帐号信息克隆方式如下:

    • 备份集和主实例都是高权限帐号,则新实例的帐号是主实例高权限帐号
    • 备份集和主实例都是普通帐号,则新实例的帐号与备份集里的帐号一致
    • 备份集是普通帐号,主实例是高权限帐号,则新实例的帐号是主实例高权限帐号
    • 新实例开始运行后,实例的管理与源实例无任何关联。

操作步骤

  1. 进入“克隆实例”操作有两种方式:

    • 方法一:在“实例列表”页找到需要克隆的实例,选择对应操作列的“克隆实例”进入克隆页面。

    image.png

    • 方法二:点击实例名称进入实例详情页,选择“备份”页签,点击“克隆实例”。

    image.png

  2. 根据付费方式选择“预付费”或“后付费”方式并进入对应页签选择配置;

    image.png

  3. 选择地域信息、数据恢复方式、配置信息。

    说明:

    • 数据恢复可以选择按时间点或按备份集两种方式。
    • 克隆实例的配置信息中内存、磁盘默认继承主实例,也可以大于主实例。
    • 批量克隆实例时,一次最多可以克隆5个。

    image.png

  4. 配置完成后,点击下一步购买支付即可。