更新时间:2024-09-12 GMT+08:00
分享

GaussDB(for MySQL)标准版备份原理及方案

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

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

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

备份原理

  • 单机实例

    采用单个数据库节点部署架构,备份触发后,从主库备份数据并以压缩包的形式存储在对象存储服务上,不会占用实例的磁盘空间。

  • 高可用实例

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

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

    图1 备份原理

备份类型

GaussDB(for MySQL)标准版支持的备份有很多种,根据不同维度,有如下分类。

  • 按照数据量:分为全量备份和增量备份。
    表1 全量备份和增量备份对比

    备份类型

    全量备份

    增量备份

    描述

    全量备份是备份数据库所有数据。

    增量备份是备份某个时间段内变化的数据。

    是否默认开启

    保留时长

    • 自动备份为设置的保留天数。减少保留天数,会针对已有的备份文件生效。
    • 手动备份会一直保存,不会随着RDS实例的删除而释放,直到用户手动删除。

    增量备份随自动全量备份一起删除。

    特点

    • 对当前状态下的数据库实例中的所有数据进行一次完整的备份。
    • 用户可在任意时刻使用全量备份恢复创建备份时的完整数据。
    • 包含自动备份和手动备份。
    • 系统自动每5分钟或一定数据量时会对上一次自动备份或增量备份后更新的数据进行备份。
    • 全部为自动备份。
    • 利用增量备份恢复数据时会依赖最近一次的全量备份,如图2所示,因此自动删除时仍然会保留最近的一次超出保留天数的全量备份,保证在保留天数内的数据可正常恢复。
      图2 增量数据恢复

    查看备份大小

    单击实例名称,在“备份恢复”的“全量备份”页签查看备份大小。

    单击实例名称,在“备份恢复”的“增量备份”页签查看备份大小。

  • 按照执行方式:分为自动备份和手动备份。
    表2 自动备份和手动备份对比

    备份类型

    自动备份

    手动备份

    描述

    • 您可以在管理控制台设置自动备份策略,系统将按照自动备份策略中设置的备份时间段和备份周期进行自动备份,并且会按照设置的备份保留天数对备份文件进行存储。
    • 自动备份的备份文件不支持手动删除,可通过修改自动备份策略来调整备份保留天数,超出备份保留天数的已有备份文件(包括全量备份和增量备份)会被自动删除。
    • 手动备份是由用户触发产生的全量备份,会一直保存,直到用户手动删除。
    • 建议您定期对数据库进行备份,当数据库故障或数据损坏时,可以通过备份恢复数据库,从而保证数据可靠性。

    是否默认开启

    保留时长

    根据设置的备份保留天数保存自动备份。

    备份保留天数的设置范围为:1~732天

    一直保存,直到手动删除。

    设置方法

    设置GaussDB(for MySQL)标准版同区域备份策略

    创建GaussDB(for MySQL)标准版手动备份

    • 按照备份区域:分为同区域备份和跨区域备份。
      表3 同区域备份和跨区域备份对比

      备份类型

      同区域备份

      跨区域备份

      描述

      备份存储在同一个区域。

      备份存储在除当前区域外的其他区域。

      是否默认开启

      保留时长

      根据设置的备份保留天数保存备份。

      备份保留天数的设置范围为:1~732天

      根据设置的跨区域备份时长保存备份。

      备份保留时长设置范围为:1~1825天

      特点

      支持将备份文件存放到和实例相同的区域存储,系统默认开启自动备份(同区域)策略,暂不支持关闭。

      支持将备份文件存放到另一个区域存储,开启跨区域备份策略后,会自动将该实例的备份文件备份到目标区域。

      设置方法

      设置GaussDB(for MySQL)标准版同区域备份策略

      设置GaussDB(for MySQL)标准版跨区域备份策略

      查看备份大小

      单击“备份管理”,在“数据库同区域备份”页面查看目标实例的备份大小。

      单击“备份管理”,在“数据库跨区域备份”页面,单击“查看跨区域备份”,查看目标实例的备份大小。

备份费用

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

备份清理

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

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

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

相关文档