更新时间:2024-04-15 GMT+08:00
分享

备份原理及方案

RDS实例支持自动备份和手动备份,您可以定期对数据库进行备份,当数据库故障或数据损坏时,可以通过备份文件恢复数据库,从而保证数据可靠性。

云数据库RDS通过Sysbench导入数据模型和一定量的数据,备份后压缩比约为80%。其中,重复数据越多,压缩比越高。

压缩比=备份文件占用的空间/数据文件占用的空间*100%。

备份类型

  • 全量备份:对所有目标数据进行备份。全量备份总是备份所有选择的目标,即使从上次备份后数据没有变化。

    全量备份触发方式分为:自动备份、手动备份。

  • 增量备份:即Binlog备份,RDS系统自动每5分钟对上一次全量备份,或增量备份后更新的数据进行备份。

备份原理

  • 单机实例

    采用单个数据库节点部署架构。与主流的主备实例相比,它只包含一个节点,但具有高性价比。备份触发后,从主库备份数据并以压缩包的形式存储在对象存储服务上,不会占用实例的磁盘空间。

  • 主备实例

    采用一主一备的经典高可用架构,主备实例的每个节点的规格保持一致。备份触发后,从备库备份数据并以压缩包的形式存储在对象存储服务上,不会占用实例的磁盘空间。

    当数据库或表被恶意或误删除,虽然RDS支持HA高可用,但备机数据库会被同步删除且无法还原。因此,数据被删除后只能依赖于实例的备份保障数据安全。

    图1 未开启CBR快照的备份原理

备份方案

表1供了常见的数据备份和下载备份文件的方法。

表1 备份方案

任务类型

备份类型

使用场景

数据备份

自动备份

RDS会在数据库实例的备份时段中创建数据库实例的自动备份,自动备份为全量备份。系统根据您指定的备份保留期保存数据库实例的自动备份。如果需要,您可以将数据恢复到备份保留期中的任意时间点。

开启自动备份策略后,会自动触发一次全量备份,备份方式为物理备份。之后会按照策略中的备份时间段和备份周期进行全量备份。自动备份策略开启后,实例每五分钟会自动进行一次增量备份,以保证数据库可靠性。

RDS for MySQL自动全量备份支持联系客服开启CBR快照备份,开启后,7天内的首次快照全量备份会进行全量扫描,所需时间和数据量相关,7天内的后续快照全量备份采用增量扫描的形式,大幅缩短备份耗时。

手动备份

手动备份是由用户启动的数据库实例的全量备份,备份方式为物理备份。手动备份会一直保存,不会随着RDS实例的删除而释放,直到用户手动删除。

RDS for MySQL手动全量备份支持联系客服开启CBR快照备份,开启后,7天内的首次快照全量备份会进行全量扫描,所需时间和数据量相关,7天内的后续快照全量备份采用增量扫描的形式,大幅缩短备份耗时。

增量备份

增量备份即Binlog备份,云数据库 RDS for MySQL默认自动开启,系统自动每5分钟对上一次自动备份,或增量备份后更新的数据进行备份。

通过mysqldump工具备份

通过MySQL客户端自带的备份工具对RDS for MySQL数据库进行手动备份。

跨区域备份

跨区域备份

支持将备份文件存放到另一个区域存储,某一区域的实例故障后,可以在异地区域使用备份文件在异地恢复到新的RDS实例,用来恢复业务。

下载备份文件

下载全量备份文件

包含使用OBS Browser+下载、直接浏览器下载、按地址下载三种方式。

下载增量备份文件

支持下载单个Binlog文件,或者合并下载Binlog文件。

合并下载Binlog文件包含使用OBS Browser+下载、直接浏览器下载、按地址下载三种方式。

备份费用

备份都是以压缩包的形式存储在对象存储服务上。备份文件上传OBS会占用备份空间,当已使用备份空间超过赠送空间后,超过的部分就会按使用量收取费用。具体收费规则请参见RDS的备份是如何收费的

备份清理

  • 备份文件清理分为两种场景:手动备份清理和自动备份清理。
    • 手动备份是由用户触发产生的全量备份,需要用户手动删除,否则会一直保存。
    • 自动备份的备份文件不支持手动删除,可通过设置自动备份策略调整备份保留天数,超出备份保留天数的已有备份文件会被自动删除。
  • Binlog本地日志清理:

    清理Binlog日志时,即使设置保留时长为0,RDS也会保证主节点的Binlog同步到备节点、只读节点全部完成,并且备份到OBS成功以后才会执行清理。

    如果选择的保留时长大于0,例如设置1天,那么在Binlog同步及备份成功后,本地Binlog日志将会继续保留1天,到期后自动删除。

分享:

    相关文档

    相关产品