MySQL数据库的备份方式可分为三种:冷备份、热备份和逻辑备份,对应不同的恢复方式。
一、冷备份
一般用于允许暂停业务的情况,速度快,恢复最简单。
备份过程
停止MySQL服务进程(即停止数据库运行)
拷贝data数据目录、日志目录
恢复过程
使用备份数据目录替换原有的数据目录、日志目录
启动MySQL服务进程
二、热备份
热备份也是直接复制数据文件,这与冷备份相同,但并不停机。一般用于7×24小时不间断的重要核心业务。
MySQL社区版的热备份工具 InnoDB Hot Backup 是收费的,只能试用30天。
免费版的热备份工具可以使用开源的 xtrabackup 。
三、逻辑备份
逻辑备份一般用于数据迁移或者数据量很小的情况,采用的是数据导出的备份方式。
备份过程
导出全部数据库:
mysqldump -q --single-transaction -A >all.sql
导出部分数据库(导出test1、test2数据库):
mysqldump -q --single-transaction -B test1 test2 >test1_test2.sql
导出某个数据库中的部分数据表:
(原书错误,待补充)
恢复过程
MySQL -uroot -p密码 < all.sql
参考资料:
《MySQL管理之道:性能调优、高可用与监控》第6章