MySQL 备份恢复策略:mysqldump 与 XtraBackup 对比
合理选择备份工具是数据安全的关键。
1. 逻辑备份(mysqldump)
- 导出 SQL 语句,跨版本兼容性好。
- 适合数据量 < 50GB 的场景。
- 备份时加
--single-transaction保证一致性(InnoDB)。
# 全量备份所有数据库
mysqldump -u root -p --all-databases --single-transaction --routines --triggers > full_backup.sql
# 恢复
mysql -u root -p < full_backup.sql2. 物理备份(Percona XtraBackup)
- 复制数据文件,速度快,支持热备份。
- 适合大数据库(> 100GB)。
# 全量备份
innobackupex --user=root --password=pass /backup/
# 准备(应用日志)
innobackupex --apply-log /backup/2025-01-01/
# 恢复(停止 MySQL,拷贝回数据目录)
innobackupex --copy-back /backup/2025-01-01/
chown -R mysql:mysql /var/lib/mysql3. 备份策略建议
- 每日全量备份 + binlog 增量(用于时间点恢复)。
- 定期验证备份可恢复性。
- 异地存储(云存储或远程服务器)。
4. 恢复演练
每月至少演练一次完整恢复,确保备份有效。
