背景
欧洲中部时间10月17日晚上10点45分左右,Keepthescore的创始人兼程序员在几杯红酒下肚后,无意中删除了生产数据库。超过300.00个记分牌及相关数据顿时人间蒸发。值得庆幸的是,该公司每天自动执行一次备份。经历了5分钟的紧张和恐慌后,Keepthescore工作人员借助备份在晚上11点15左右恢复增常,即灾难发生后30分钟恢复,但是7个小时的记分牌数据永远消失了。
简介
存储有价,数据无价。随着科学技术的发展,越来越多的企业都开始使用到计算机数据库来存取公司的各类数据,特别是一些关系到企业整体运营情况的核心数据。一旦出现服务器崩溃,核心数据丢失,可能会影响企业的重要业务导致企业无法正常运转,甚至面临灾难性后果。因此对这些重要的数据进行备份这一步骤显得尤为重要。备份的主要目的是一旦出现上述不测能够使用已备份的数据进行灾难恢复,避免各种数据灾难的发生。
问题分析
阿里云提供了数据库备份(Database Backup,简称DBS)服务, 它能够为据库提供连续数据保护、低成本的备份与恢复服务。它可以为多种环境的数据提供强有力的保护。DBS可以定时全量备份、周期增量备份、实时增量日志备份,可以精确到任意时间点的数据恢复。为了提供更简便快速的恢复,DBS提供一键恢复到RDS,支持包括MySQL,SQL Server等常用数据库。
如果类似的Keepthescore的醉酒跑路再次发生,DBS可以保障实时数据可快速恢复,分钟内的数据不丢失。
下面详细介绍一下MySQL的一键恢复到RDS功能。
DBS的Mysql备份有增量备份与日志备份,可以支持任意时间的数据恢复,能够有效地保证客户的数据安全,具备低RPO、RTO的特点。
一键恢复到RDS介绍
客户发起数据库恢复时,DBS一键恢复功能会根据元数据信息推算出实例配置,用户也可以调整实例配置,然后DBS通过用户账号来自动创建RDS MySQL按量付费实例,整个恢复过程变得更简单。
支持场景
1.克隆新数据库实例,运用到灾备场景;
2.快速恢复(自动创建,自动恢复);
3.备份巡检 (恢复计划、恢复报告);
传统的DBS逻辑恢复分为如下5个步骤,如图所示
以下简要介绍下这5个步骤:
1.预检查
主要是备份的数据是否可访问。恢复的数据库是否能够联通,账户密码检查等
2.结构恢复
主要恢复库表结构,用于创建数据库,创建数据表。
3.全量恢复
恢复全量备份的数据。
4.增量恢复
Mysql binlog的恢复,可以将数据恢复到指定的时间点。
5.附加结构恢复
主要是触发器及外键的恢复。
由此可见,在预检查执行前客户就必须准备好服务器,搭建好mysql数据库,建立好账户并完成授权等一系列复杂耗时操作。而Mysql一键恢复到RDS 功能 则免除了上述复杂操作,大大减轻了客户的工作量,使得用户可以专注于自己的数据。
Mysql一键恢复到RDS包含如下步骤,如图所示
由此可见,在预检查之后,基础结构恢复之前增加了一个创建数据库实例的步骤。同时对预检查内容也进行了调整,不再检查目标数据库实例的连通性,账户等。
创建数据库实例包含如下内容:
1.创建数据库实例
新建的数据库实例规格是可选的,默认会按照备份源的规格进行创建
2.循环检查DBS实例创建状态
由于创建数据库实例是需要一定的时间,一般在5分钟左右,因此本阶段会定期查询数据库状态,如果创建失败,如账户余额不足等则会报错。反之如果创建成功则会进入下一步骤。
3.初始化访问RDS的信息
主要完成:1、创建RDS实例管理账户;2、创建访问RDS的连接地址;3、将DBS服务器设置为RDS的白名单
创建数据库实例完成后,则可继续随后的基础结构恢复,全量恢复,增量恢复,附加结构恢复等。
这些步骤完成之后数据即完成了恢复。客户可以直接使用创建好的数据库实例用于线上业务,测试等,使得恢复变得更加简单,大大减少了客户恢复的工作量,使得用户可以专注于自己的数据。