1. MySQL备份简介
1.1. 备份方式
MySQL数据库备份方式分为热备与冷备,两者差异为:
- 冷备: 将数据库关掉,利用操作系统命令拷贝数据文件。
- 温备: 不关闭数据库情况下,可读,但不可写。
- 热备: 在不关数据库的情况下,读写操作不受影响对数据库进行备份。
1.2. 备份策略
MySQL数据库备份策略分为逻辑备份与物理备份两类,两者差异为:
- 逻辑备份特点: 直接生产SQL语句,在恢复的时候执行备份的SQL语句实现数据库的重现。
- 物理备份特点: 拷贝相关数据文件
- 两者差异: 逻辑备份其备份、还原慢,但备份文件占用空间小;物理备份其备份还原快,备份文件占用空间大。
到底选择哪种备份方式,具体根据实际情况,如需要的是热备还是冷备,数据量大小,磁盘空间等因素决定。
逻辑备份工具主要有:
- mysqldump
- mysqlpump
- mydumper
物理备份工具主要有:
- xtrabackup
现在使用最多的备份就是mysqldump、xtrabackup(都支持支持热备)
2. 备份方式选择
2.1. 备份数据的方式
如何选择热备份、冷备份,针对MySQL中进行不同方式的备份还要考虑存储引擎是否支持
-
MyISAM
- 热备 *
- 温备 ✔️
- 冷备 ✔️
-
InnoDB
- 热备 ✔️
- 温备 ✔️
- 冷备 ✔️
2.2. 备份要考虑的问题
要备份什么?
一般情况下,需要备份的数据分为以下几种:
- 数据
- 二进制日志,innodb事物日志
- 代码(存储过程,存储函数,触发器,事件调度器)
- 服务器配置文件
备份工具
- mysqldump:逻辑备份,适用于所有存储引擎,支持温备,完全备份、部分备份,对innodb支持热备。
- cp、tar等归档工具: 物理备份,适用于所有存储引擎,冷备、完整备份、部分备份。
- lvm2 snapshot: 几乎热备,借助文件系统管理工具进行备份。
- mysqlhotcopy:几乎冷备,仅支持MyISAM存储引擎。
- xtrabackup: 支持完全备份、增量备份。