云数据库RDS for MySQL备份原理及方案
RDS实例支持自动备份和手动备份,您可以定期对数据库进行备份,当数据库故障或数据损坏时,可以通过备份文件恢复数据库,从而保证数据可靠性。云数据库RDS通过Sysbench导入数据模型和一定量的数据,备份后压缩比约为80%。其中,重复数据越多,压缩比越高。压缩比=备份文件占用的空间/数据文件占用的空间*100%。
备份类型
全量备份:对所有目标数据进行备份。全量备份总是备份所有选择的目标,即使从上次备份后数据没有变化。
全量备份触发方式分为:自动备份、手动备份。
增量备份:即Binlog备份,RDS系统自动每5分钟对上一次全量备份,或增量备份后更新的数据进行备份。
备份原理
单机实例
采用单个数据库节点部署架构。与主流的主备实例相比,它只包含一个节点,但具有高性价比。备份触发后,从主库备份数据并以压缩包的形式存储在对象存储服务上,不会占用实例的磁盘空间。
主备实例
采用一主一备的经典高可用架构,主备实例的每个节点的规格保持一致。备份触发后,从主库备份数据并以压缩包的形式存储在对象存储服务上,不会占用实例的磁盘空间。
当数据库或表被恶意或误删除,虽然RDS支持HA高可用,但备机数据库会被同步删除且无法还原。因此,数据被删除后只能依赖于实例的备份保障数据安全。
备份方案
任务类型
|
备份类型
|
使用场景
|
---|---|---|
数据备份 |
RDS会在数据库实例的备份时段中创建数据库实例的自动备份,自动备份为全量备份。系统根据您指定的备份保留期保存数据库实例的自动备份。如果需要,您可以将数据恢复到备份保留期中的任意时间点。 开启自动备份策略后,会自动触发一次全量备份,备份方式为物理备份。之后会按照策略中的备份时间段和备份周期进行全量备份。自动备份策略开启后,实例每五分钟会自动进行一次增量备份,以保证数据库可靠性。 |
|
手动备份是由用户启动的数据库实例的全量备份,备份方式为物理备份。手动备份会一直保存,不会随着RDS实例的删除而释放,直到用户手动删除。 |
||
增量备份即Binlog备份,云数据库 RDS for MySQL默认自动开启,系统自动每5分钟对上一次自动备份,或增量备份后更新的数据进行备份。 |
||
支持将备份文件存放到另一个区域存储,某一区域的实例故障后,可以在异地区域使用备份文件在异地恢复到新的RDS实例,用来恢复业务。 |
||
通过MySQL客户端自带的备份工具对RDS for MySQL数据库进行手动备份。 |
||
下载备份文件 |
包含使用OBS Browser+下载、直接浏览器下载、按地址下载三种方式。 |
|
支持下载单个Binlog文件,或者合并下载Binlog文件。 合并下载Binlog文件包含使用OBS Browser+下载、直接浏览器下载、按地址下载三种方式。 |
云数据库RDS for MySQ设置自动备份策略
操作场景
创建云数据库RDS实例时,系统默认开启自动备份策略,安全考虑,实例创建成功后不可关闭,您可根据业务需要设置自动备份策略,云数据库RDS服务按照您设置的自动备份策略对数据库进行备份。
云数据库RDS服务的备份操作是实例级的,而不是数据库级的。当数据库故障或数据损坏时,可以通过备份恢复数据库,从而保证数据可靠性。备份以压缩包的形式存储在对象存储服务上,以保证用户数据的机密性和持久性。由于开启备份会损耗数据库读写性能,建议您选择业务低峰时间段设置自动备份。
设置自动备份策略后,会按照策略中的备份时间段和备份周期进行全量备份。实例在执行备份时,按照策略中的保留天数进行存放,备份时长和实例的数据量有关。
在进行全量备份的同时系统每5分钟会自动生成增量备份,用户不需要设置。生成的增量备份可以用来将数据恢复到指定时间点。
约束限制
备份效率与实例数据量大小成正比,如果数据量较大,可联系客服开通CBR快照备份功能提高备份效率。实例切换CBR备份后,原来的备份文件将无法继续用于恢复数据,依赖原来备份文件的恢复功能会受影响。
全量备份时不允许重启数据库,请谨慎选择备份时间段。
全量备份时,会连接备份所属的实例,校验该实例的状态。如果校验存在以下两种情况,则校验不通过,会自动进行校验重试。如果重试结束后,仍然无法满足,则备份失败。
−备份所属的实例正在执行DDL操作。
−从备份所属的实例获取备份锁失败。
查看或修改自动备份策略
步骤 1登录管理控制台。
步骤 2单击管理控制台左上角的,选择区域和项目。
步骤 3选择“数据库 > 云数据库 RDS”,进入RDS信息页面。
步骤 4在“实例管理”页面,选择指定的实例,单击实例名称。
步骤 5在左侧导航栏,单击“备份恢复”,单击“同区域备份策略”。您可以查看到已设置的备份策略,如需修改备份策略,请调整以下参数的值。
自动备份保留天数:保留天数为全量自动备份和Binlog备份的保留时长,默认为7天,范围为1~732天。
−增加保留天数,可提升数据可靠性,请根据需要设置。
−减少保留天数,会针对已有的备份文件生效,但手动备份不会自动删除,请您谨慎选择。
全量备份文件自动删除策略:
考虑到数据完整性,自动删除时仍然会保留最近的一次超过保留天数的全量备份,保证在保留天数内的数据可正常恢复。
假如备份周期选择“周一”、“周二”,保留天数设置为“2”,备份文件的删除策略如下:
−本周一产生的全量备份,会在本周四当天自动删除。原因如下:
本周二的全量备份在本周四当天超过保留天数,按照全量备份文件自动删除策略,会保留最近的一个超过保留天数的全量备份(即本周二的备份会被保留),因此周四当天删除本周一产生的全量备份文件。
−本周二产生的全量备份,会在下周三当天自动删除。原因如下:
下周一产生的全量备份在下周三超过保留天数,按照全量备份文件自动删除策略,会保留最近的一个超过保留天数的全量备份(即下周一的备份会被保留),因此下周三当天删除本周二产生的全量备份。
备份时间段:默认为24小时中,间隔一小时的随机的一个时间段 ,例如01:00~02:00,12:00~13:00等。备份时间段并不是指整个备份任务完成的时间,指的是备份的开始时间,备份时长和实例的数据量有关。
建议根据业务情况,选择业务低峰时段。备份时间段以UTC时区保存。如果碰到夏令时/冬令时切换,备份时间段会因时区变化而改变。
备份周期:默认全选,可修改,且至少选择一周中的1天。
步骤 6单击“确定”,确认修改。
----结束
备份清理
备份文件清理分为两种场景:手动备份清理和自动备份清理。
−手动备份是由用户触发产生的全量备份,需要用户手动删除,否则会一直保存。
−自动备份的备份文件不支持手动删除,可通过设置自动备份策略调整备份保留天数,超出备份保留天数的已有备份文件会被自动删除。
Binlog本地日志清理:
清理Binlog日志时,即使设置保留时长为0,RDS也会保证主节点的Binlog同步到备节点、只读节点全部完成,并且备份到OBS成功以后才会执行清理。
如果选择的保留时长大于0,例如设置1天,那么在Binlog同步及备份成功后,本地Binlog日志将会继续保留1天,到期后自动删除。
云数据库RDS for MySQL备份常见问题
云数据库RDS for MySQL备份常见问题
专题内容推荐
活动对象:华为云电销客户及渠道伙伴客户可参与消费满送活动,其他客户参与前请咨询客户经理
活动时间: 2020年8月12日-2020年9月11日
活动期间,华为云用户通过活动页面购买云服务,或使用上云礼包优惠券在华为云官网新购云服务,累计新购实付付费金额达到一定额度,可兑换相应的实物礼品。活动优惠券可在本活动页面中“上云礼包”等方式获取,在华为云官网直接购买(未使用年中云钜惠活动优惠券)或参与其他活动的订单付费金额不计入统计范围内;