(一)备份的目的
a)做灾难恢复:对损坏的数据进行恢复和还原
b)需求改变: 因需求改变而需要把数据还原到改变以前
c)测试: 测试新功能是否可用
(二) 备份需要考虑的问题
a)可以容忍多长时间的数据
b)恢复数据要在多长时间内完成
c)恢复的时候是否需要持续提供服务
d)恢复的对像,是整个库,多个表,还是单个库,单个表
(三)备份的类型
1、根据是否需要数据库离线
a) 冷备(cold backup):需要关mysql服务,读写请求均不允许状态下进行
b) 温备(warm backup):服务在线,但只支持读请求,不允许写请求
c) 热备(hot backup):备份的同时,业务不受影响
注:
1) 这种类型的数据取决于业务的需求,而不是备份工具
2) MyISAM不支持热备,InnoDB支持热备,但是需要专门的工具
2、根据要备份的数据集合的范围
a)完全备份:full backup,备份全部字符集
b)增量备份:incremental backup 上次完全备份或增量备份以来改变了的数据,不能单独使用,要借助完全备份
c)差异备份:differential backup 上次完全备份以来改变了的数据
建议恢复策略:
1) 完全 + 增量 + 二进制日志
2) 完全 + 差异 + 二进制日志
3、根据备份数据或文件
a)物理备份:直接备份数据文件
优点:备份和恢复都比较简单,能够跨myslq的版本,恢复速度快,属于文件系统级别的
建议:不要假设备份一定可用,要测试
Mysql>check talbes; 检测表是否可用
b)逻辑备份:备份表中的数据和代码
优点:恢复简单、备份的结果为ASCII文件,可以编辑。与存储引擎无关,可以通过网络备份和恢复
缺点:备份或恢复都需要mysql 服务器进程参与,备份结果占据更多的空间,浮点数可能会丢失精度,还原后,缩影需要重建
(四)、备份的对象
1、数据
2、配置文件
3、代码:存储过程、存储函数、触发器
4、os相关的配置文件
5、复制相关的配置
6、二进制日志
(五)、备份和恢复的实现
参阅:http://www.jb51.net/article/41570.htm