数据库备份方案

25 篇文章 1 订阅
9 篇文章 0 订阅

1.引言
1.1.备份的意义
单独说备份有没有意义,意义在哪里,作为dba的你是不是有时觉得这还是需要说吗,肯定是有意义的,那意义在哪里呢?一时之间又回答不上来,我们在描述一件事情的时候,是有相应的业务场景的,如果说数据库因一些意外情况(如误删除)发生,导致数据不能正常使用,这时没有备份,怎么办呢?这就是备份的意义所在。
1.2.备份的目的
备份的目的是为了防止当意外情况发生时,可以使用备份数据去做还原操作。那么是不是所有的意外情况发生后,都能通过备份数据去还原,这就与采用什么样的数据库备份方式有关系了。
2.备份的方式
数据库备份的方式多种多样,可以根据不同的业务场景选择相应的备份方式,下面对数据库的常用备份方式以及应用场景做一个介绍。
2.1.冷备
2.1.1.什么冷备
冷备通常是指关闭数据库的情况下,对数据库的文件目录进行拷贝,这时数据库不对外提供访问服务,可以通过cp、scp、rsync命令将数据库的文件目录拷贝到本机或远程主机上。
2.1.2.冷备特点
1、基于数据库文件目录的物理拷贝
2、备份期间数据库不能对外提供访问
3、备份速度快
4、可以数据备份到本地或远程

2.1.3.应用场景
在实际生产环境中很少这样使用
2.2.热备
2.2.1.什么热备
热备是指在数据库正常运行的情况下,对数据库进行的在线备份,这时数据库正常对外提供访问服务。
2.2.2.热备特点
1、备份期间,数据库依然对外提供访问服务
2、根据不同的备份方式,备份的时间有所不同
2.2.3.应用场景
实际生产环境都使用热备
2.3.物理备份
2.3.1.什么物理备份
物理备份是指在数据库正常运行的情况下,对数据库使用的文件目录进行在线拷贝,这里数据库依然对外提供正常访问。
2.3.2.物理热备特点
1、物理备份属于热备方式的一种
2、备份数据库快,可以数据备份到本地或远程
3、数据库正常对外提供服务
4、基于物理备份的恢复,对数据库版本和服务器平台架构要求一致。
5、恢复时间和备份时间基本一致
2.3.3.应用场景
对于数据库体量比较大的情况,可以使用物理备份
2.4.逻辑备份
2.4.1.什么逻辑备份
逻辑备份是指在数据库正常运行的情况下,对数据库中的业务数据进行导出,这里数据库依然对外提供正常访问。
2.4.2.逻辑热备特点
1、逻辑备份属于热备方式的一种
2、基于业务数据的导入,可以数据备份到本地或远程
3、数据库正常对外提供服务
4、可以导入的业务数据导入更高的版本中去,非常灵活
5、根据数据量的大小,一般导入操作所花的时间是导出的操作几倍或十几倍
2.4.3.应用场景
对于生产环境中,业务量较小的情况可以使用逻辑备份
2.5.全量备份
2.5.1.什么全量备份
全量备份是指在数据库正常运行的情况下,基于某一个时间点对数据库使用的文件目录进行在线拷贝,这里数据库依然对外提供正常访问。
2.5.2.全量特点
1、全量备份属于物理备份方式的一种
2、备份数据库快,可以数据备份到本地或远程
3、数据库正常对外提供服务
2.5.3.应用场景
在生产环境使用非常普遍
2.6.增量备份
2.6.1.什么增量备份
增量备份是指在数据库正常运行的情况下,基于对上一次全量备份后所产生的新数据进行备份,这里数据库依然对外提供正常访问。

增量备份又分为:累计增量备份和差异增量备份
累计增量备份:
以每周数据备份为例,星期一进行了全量备份,星期二到星期四每天累计增量备份,星期四数据出问题了,这里需要对数据库按星期一的全量备份进行还原,再应用星期二到星期四的增量备份,该备份的特点备份快,恢复慢
差异增量备份:
以每周数据备份为例,星期一进行了全量备份,星期二到星期四每天差异增量备份,星期四数据出问题了,这里需要对数据库按星期一的全量备份进行还原,再星期四的备份即可,该备份的特点备份慢,恢复快

2.6.2.增量特点
1、增量备份属于热备方式的一种
2、备份数据库快,可以数据备份到本地或远程
3、数据库正常对外提供服务
4、能够对变化的数据进行备份
2.6.3.应用场景
全量备份+增量备份在生产环境使用非常普遍
3.备份策略的制订
根据不同的业务场景,对于备份策略的制订有所不同,其目的就为了保证线上业务的连续性,通常业界有两个重要的指标可以作为参考,一个是RTO,另一个是RPO,下面对这个名词作一个解释

图3-1RTO&RPO
3.1.什么是RTO
RTO(Recovery Time Objective)即恢复时间目标,主要指的是所能容忍的业务停止服务的最长时间,也就是从灾难发生到业务系统恢复服务功能所需要的最短时间周期。
例如:如果RTO为1小时,这意味着能容忍业务系统停止服务的时间为1小时,这1个小时内业务系统不能对外提供服务。
3.2.什么是RPO
RPO(Recovery Point Objective)即数据恢复点目标,主要指的是业务系统所能容忍的数据丢失量。
例如:业务系统数据在每天1点进行备份,在某天上午7点发生事故,导致这之间有6个小时的数据丢失,如果RPO定为7个小时,则并不无大碍,如果原业务系统要求RPO为无限接近于0,则需要对应用、数据库架构及性能这几方面进行考虑,这里主要考虑数据库层面的内容。
3.3.RPO与RTO相同点
都是使用时间维护来衡量的,对于RTO是指灾难发生到服务恢复的时间,这里包括了数据恢复的时间,对于RPO是指灾难发生到数据上一次备份的时间。
3.4.RPO与RTO差异
RTO关注于应用或系统层面的可用性,RPO关注于数据的完整性,描述所能容忍的最大数据丢失限制。业务系统服务不可以会带来经济损失,但丢失的是客户交易数据则导致的损失或许更大。

4.备份工具的介绍
每种数据库都有自带的备份工具,其中oracle的工具个人觉得最好使用,毕竟是商业数据库,目前项目主要使用mysql数据库,这里对mysql数据库常用的备份工具做一个介绍
4.1.mysqldump工具介绍:

Mysql数据库软件自带的备份工具
4.1.1.优点:
Mysqldump可以将远程数据库上的数据备份到本地。
可以进行跨数据库版本导入数据
可以基本单个、所有数据库是进行备份
4.1.2.缺点:
恢复数据时,需要提前安装好数据软件并启动数据库
恢复速度比备份速度慢几倍,导出的备份文件越大,恢复时间越久。
无法实现数据的增量备份
4.2.xtrabackup工具介绍:
是一款开放源代码且免费的热备软件,可以非阻塞地以innodb和xtradb数据库进行备份,是目前最流行的mysql备份软件之一。
4.2.1.优点:
备份速度快
可以将数据备份到远程服务器本地。
恢复时间与备份时间基本一致
恢复时不需要启数据库
可以基本单个、所有数据库是进行备份
可以实现增量备份、压缩备份
4.2.2.缺点:
恢复时需要数据库的版本、功能是一致的

5.备份案例
前面几章描述了备份的意义、目的、方式、策略、工具,了解这些之后,我们才能结合实际的业务情况来制订相应方案并实施,以下几个场景是我们在生产环境使用的备份案例。
5.1.场景一:允许部分业务丢失,能及时恢复
Xtrabackup+binglog2sql
5.2.场景二:数据库异常宕机后,希望在分钟级内恢复

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值