mysql是怎么备份的

 

一、备份的目的 
做灾难恢复:对损坏的数据进行恢复和还原 
需求改变:因需求改变而需要把数据还原到改变以前 
测试:测试新功能是否可用 
二、备份需要考虑的问题 
    可以容忍丢失多长时间的数据; 
    恢复数据要在多长时间内完; 
    恢复的时候是否需要持续提供服务; 
    恢复的对象,是整个库,多个表,还是单个库,单个表。 
三、备份的类型 
1、根据是否需要数据库离线 
冷备(cold backup):需要关mysql服务,读写请求均不允许状态下进行; 
温备(warm backup): 服务在线,但仅支持读请求,不允许写请求; 
热备(hot backup):备份的同时,业务不受影响。 
    注: 
1、这种类型的备份,取决于业务的需求,而不是备份工具 
2、MyISAM不支持热备,InnoDB支持热备,但是需要专门的工具 
2、根据要备份的数据集合的范围 
完全备份:full backup,备份全部字符集。 
增量备份: incremental backup 上次完全备份或增量备份以来改变了的数据,不能单独使用,要借助完全备份,备份的频率取决于数据的更新频率。 
差异备份:differential backup 上次完全备份以来改变了的数据。 
      建议的恢复策略: 
        完全+增量+二进制日志 
        完全+差异+二进制日志 
3、根据备份数据或文件 
物理备份:直接备份数据文件 
      优点:备份和恢复操作都比较简单,能够跨mysql的版本,恢复速度快,属于文件系统级别的 
      建议:不要假设备份一定可用,要测试mysql>check tables;检测表是否可用 
逻辑备份: 备份表中的数据和代码 
      优点:恢复简单、备份的结果为ASCII文件,可以编辑与存储引擎无关可以通过网络备份和恢复 
      缺点:备份或恢复都需要mysql服务器进程参与备份结果占据更多的空间,浮点数可能会丢失精度 还原之后,缩影需要重建 
四:备份的对象 
1、 数据; 
2、配置文件; 
3、代码:存储过程、存储函数、触发器 
4、os相关的配置文件 
5、复制相关的配置 
6、二进制日志 
五、备份和恢复的实现 
1、利用select into outfile实现数据的备份与还原。 
2、利用mysqldump工具对数据进行备份和还原 
3、利用lvm快照实现几乎热备的数据备份与恢复 
4、基于Xtrabackup做备份恢复。 
    优势: 
1、快速可靠的进行完全备份 
2、在备份的过程中不会影响到事务 
3、支持数据流、网络传输、压缩,所以它可以有效的节约磁盘资源和网络带宽。 
4、可以自动备份校验数据的可用性。

你可能感兴趣的:(数据库)