备份
备份类型
- 完全备份
备份整个数据库 - 部分备份
备份部分数据集(如只备份一个表)
部分备份又分为以下两种
- 增量备份
备份自上一次备份以来(增量或完全)以来变化的数据;
特点: 节约空间、还原麻烦 - 差异备份
备份自上一次完全备份以来变化的数据
特点: 浪费空间、还原比增量备份简单
数据库备份方式
- 热备份
数据库备份时,数据库可读、可写(均不是受影响)。 - 温备份
数据库备份时,数据库可读、不可写。 - 冷备份
数据库备份时,数据库不可读、不可写(即数据库要下线)。
MySQL中进行不同方式的备份还要考虑存储引擎是否支持。
- | MyISAM | InnoDB |
---|---|---|
热备 | × | √ |
温备 | √ | √ |
冷备 | √ | √ |
数据库中数据的备份方式
- 物理备份
一般通过tar,cp等命令直接打包复制数据库的数据文件达到备份的效果。 - 逻辑备份
一般通过特定工具从数据库中导出数据并另存备份(逻辑备份会丢失数据精度)。
常用的几种工具
- mysqldump
逻辑备份工具,适用于所有的存储引擎,支持温备、完全备份、部分备份,对于InnoDB存储引擎支持热备。 - cp, tar 等归档复制工具
物理备份工具,适用于所有的存储引擎,冷备、完全备份、部分备份。 - lvm2 snapshot: 几乎热备, 借助文件系统管理工具进行备份
- mysqlhotcopy: 名不副实的的一个工具, 几乎冷备, 仅支持MyISAM存储引擎
- xtrabackup: 一款非常强大的InnoDB/XtraDB热备工具, 支持完全备份、增量备份, 由percona提供。