数据库数据备份:
在一些对数据可靠性要求很高的行业如银行、证券、电信等,如果发
生意外停机或数据丢失其损失会十分惨重。为此数据库管理员应针对具体
的业务要求制定详细的数据库备份与灾难恢复策略,并通过模拟故障对每
种可能的情况进行严格测试,只有这样才能保证数据的高可用性。数据库
的备份是一个长期的过程,而恢复只在发生事故后进行,恢复可以看作是
备份的逆过程,恢复的程度的好坏很大程度上依赖于备份的情况。此外,
数据库管理员在恢复时采取的步骤正确与否也直接影响最终的恢复结果。
数据备份类型
按业务划分: 可分为完全备份、增量备份、差异备份
1、完全备份
(Full Backup) 所谓全备份就是对整个数据库的数据和数据结构
进行备份。这种备份方式的好处就是很直观,容易被人理解。而且
当发生数据丢失的灾难时,只要用灾难之前的备份文件,就可以恢
复丢失的数据。
然而它也有不足之处:首先由于每天都对系统进行完全备份,因此在
备份数据中有大量是重复的。这些重复的数据占用了大量的空间,
这对用户来说就意味着增加成本;其次,由于需要备份的数据量相
当大,因此备份所需时间较长。对于那些业务繁忙,备份窗口时间
有限的单位来说,选择这种备份策略无疑是不明智的。
2、增量备份(Incremental Backup)
就是每次备份的数据只是相当于上一次备份后增加的和修改过的数据。这
种备份的优点很明显:没有重复的备份数据,即节省空间,又缩短了备份
时间。但它的缺点在于当发生灾难时,恢复数据比较麻烦。举例来说,如
果系统在星期四的早晨发生故障,丢失大批数据,那么现在就需要将系统
恢复到星期三晚上的状态。
这时管理员需要首先找出星期一的那份完全备份数据进行系统恢复,然后
再找出星期二的数据来恢复星期二的数据,然后在找出星期三的数据来恢
复星期三的数据。 很明显这比第一种策略要麻烦得多。另外这种备份可靠
性也差。在这种备份下,各备份数据间的关系就象链子一样,一环套一环,
其中任何一个备份数据出了问题都会导致整条链子脱节。
3、差异备份(Differential Backup)
就是每次备份的数据是相对于上一次全备份之后新增加的和修改过的数据。管理员先在
星期一进行一次系统完全备份;然后在接下来的几天里,管理员再将当天所有与星期一
不同的数据(新的或经改动的)备份到磁带上。举例来说,在星期一,网络管理员按惯
例进行系统完全备份;在星期二,假设系统内只多了一个资产清单,于是管理员只需将
这份资产清单一并备份下来即可;在星期三,系统内又多了一份产品目录,于是管理员
不仅要将这份目录,还要连同星期二的那份资产清单一 并备份下来。
如果在星期四系统内有多了一张工资表,那么星期四需要备份的内容就是:工资表+产
品目录+资产清单。 由此可以看出,全备份所需时间最长,但恢复时间最短,操作最方
便,当系统中数据量不大时,采用全备份最可靠;差异备份可避免另外两种策略缺陷,
但不同备份类型可以存在一定组合不同备份类型可以存在一定组合不同备份类型可以存
在一定组合不同备份类型可以存在一定组合。
不同备份类型组合应用的示例
完全备份和差异备份
在星期一进行完全备份,在星期二至星期五进行差异备份。如果在星期五数据被破坏了,
则你只需要还原星期一完全的备份和星期四的差异备份。这种策略备份数据需要较多的
时间,但还原数据使用较少的时间。
完全备份和增量备份
在星期一进行完全备份,在星期二至星期五进行增量备份。如果在星期五数据被破坏了,
则你需要还原星期一正常的备份和从星期二至星期五的所有增量备份。这种策略备份数
据需要较少的时间,但还原数据使用较多的时间。
按方式划分:可分为热备、温备、冷备
热备份(Hot Backup)是指在数据库运行中直接备份,对正在运行的数据库没有任何影响。
数据库的读写操作完全不受影响
冷备份(Cold Backup)是指在数据库停止的情况下进行备份,这种备份最为简单,一般只需要拷贝相关的数据库物理文件即可。
数据库不能读写
温备份(Warm Backup)备份同样是在数据库运行时进行,但是会对当前数据库的操作有所影响,例如加一个全局读锁以保证备份数据的一致性
数据库可读不可写(加个全局锁,解决数据的一致性)
数据库备份,数据的一致性很重要
物理备份:直接复制数据文件进行的备份
优点:无需额外工具,直接copy即可,恢复直接复制备份文件即可
缺点:与存储引擎有关,跨平台能力较弱
逻辑备份:从数据库中“导出”数据另存而进行的备份
优点: 能使用编辑器处理,恢复简单,能基于网络恢复,有助于避免数据损坏
缺点: 备份文件较大,备份较慢,无法保证浮点数的精度,使用逻辑备份数据恢复后,
还需手动重建索引,十分消耗CPU资源
备份流程: