MySQL 数据备份与恢复:从零开始守护你的数据安全
更多技术博客,请关注微信公众号:运维之美
在互联网时代,数据就是企业的生命线。一次意外的断电、一次手滑的误删,甚至一次硬盘故障,都可能让业务陷入瘫痪。作为开发者或运维人员,如何为 MySQL 数据库构建可靠的“后悔药”?今天我们就来揭秘数据备份与恢复的核心技巧。
一、你的数据库需要哪些“后悔药”?
- 冷备份(需停库):直接对数据库文件进行
tar
归档。 - 热备份:使用
mysqldump
或XtraBackup
进行在线备份。 - 增量备份:基于 binlog 或者 InnoDB 事务日志进行数据恢复。
1. 全量备份:整库的存档快照
逻辑备份:mysqldump(适合中小型数据库)
# 导出整个数据库
mysqldump -u root -p --all-databases > full_backup.sql
✅ 优点:跨版本兼容,单个 SQL 文件易于管理
❌ 缺点:恢复速度较慢,备份文件较大
❌ 需停机:否
物理备份:XtraBackup(适合大规模数据库)
# 全量备份
xtrabackup --backup --user=root --password=123456 --target-dir=/backups/full
✅ 优点:恢复速度快,适合 TB 级数据库
❌ 缺点:需与 MySQL 版本严格匹配
❌ 需停机:否(支持热备)
物理备份:Tar 冷备(适合低频备份)
# 停库保障一致性(需停机!)
systemctl stop mysql
tar -czvf /backups/mysql_$(date +%F).tar.gz /var/lib/mysql/*
systemctl start mysql
✅ 优点:简单直观,适合小型数据库或临时备份
❌ 缺点:必须停机,否则数据可能不一致
✅ 需停机:是