MySQL 备份类型概述
备份是数据安全的基础保障,选择合适的备份类型对恢复效率和存储成本有重要影响。
备份类型分类
按备份内容分类
| 类型 | 说明 | 特点 |
|---|---|---|
| 完全备份 | 备份全部数据 | 恢复最快,占用空间大 |
| 增量备份 | 仅备份变化数据 | 节省空间,恢复复杂 |
| 差异备份 | 备份与完全备份的差异 | 平衡方案 |
按备份方式分类
| 类型 | 说明 | 工具 |
|---|---|---|
| 逻辑备份 | 导出 SQL 语句或数据文件 | mysqldump |
| 物理备份 | 复制数据库文件 | cp、xtrabackup |
按服务状态分类
| 类型 | 说明 | 影响 |
|---|---|---|
| 热备份 | 服务正常运行 | 无影响 |
| 温备份 | 服务只读 | 有影响 |
| 冷备份 | 服务停止 | 完全影响 |
备份类型对比
SQL
-- 完全备份:基准备份,每周一次
mysqldump -u root -p --all-databases > full_backup.sql
-- 增量备份:基于上次备份,每天一次
-- 需借助二进制日志实现
-- 差异备份:基于完全备份,每天一次
mysqldump -u root -p db_name > diff_backup.sql
备份策略建议
SQL
-- 常见备份策略组合
-- 方案1:完全备份 + 增量备份
-- 每周日完全备份,每天增量备份
-- 方案2:完全备份 + 差异备份
-- 每周日完全备份,每天差异备份
-- 方案3:完全备份 + 二进制日志
-- 每周日完全备份,实时记录binlog
备份存储位置
Bash
# 本地存储:备份到本地磁盘
mysqldump -u root -p db > /backup/db.sql
# 远程存储:备份到远程服务器
mysqldump -u root -p db | ssh user@remote "cat > /backup/db.sql"
# 云存储:备份到云平台
mysqldump -u root -p db > db.sql
aws s3 cp db.sql s3://bucket/backup/
备份文件应存储在异地,避免与数据库同服务器。
要点总结
- 完全备份是基准,增量备份节省空间
- 逻辑备份导出SQL,物理备份复制文件
- 热备份不影响服务,冷备份需停服务
- 备份文件应异地存储,定期验证恢复
📝 发现内容有误?点击此处直接编辑