各备份方法对比
备份数据的策略需要根据几种维度考虑
-
备份能承受最大丢失数据量
-
备份期间系统可以处于哪种情况(不可用,部分可用,完全可用)
-
数据恢复时长
-
需要恢复全量数据还是增量数据
备份数据的方法
-
逻辑备份:一般就是通过特定工具从数据库中导出数据并另存备份(逻辑备份会丢失数据精度)
-
物理备份:一般就是通过tar,cp等命令直接打包复制数据库的数据文件达到备份的效果
备份数据的类型
-
完全备份:不借助热备份工具,完全备份可能需要停止MySQL服务。此时MySQL将无法提供服务,在真实的业务场景中,很少真正使用完全备份。
-
增量数据:指上一次全量备份数据之后到下一次全备之前数据库所更新的数据,对于mysqldump来说binlog就是增量数据,MySQL还没有提供真正的增量备份工具,可以通过复制binlog日志实现增量备份
备份数据的方式
-
热备份:不停库,不停服务,备份,也不会(锁表)阻止用户的写入
-
温备份:不停库,不停服务,备份,会(锁表) 阻止用户的写入,读操作可以执行
-
冷备份:停库,停服务,备份
备份工具选择
-
mysqldump:逻辑备份工具, 适用于所有的存储引擎, 支持温备、完全备份、部分备份、对于InnoDB存储引擎支持热备
-
cp, tar等归档复制工具 :物理备份工具, 适用于所有的存储引擎, 冷备、完全备份、部分备份
-
xtrabackup:由Percona提供的支持对InnoDB做热备(物理备份)的工具;实现完全备份和增量备份;开源。对InnoDB支持热备,支持完全备份和增量备份。对MyISAM引擎只支持完全备份和温备