linux

Linux环境下MongoDB备份恢复策略

小樊
45
2025-08-17 16:32:14
栏目: 云计算

备份策略

  1. 全量备份

    • 使用mongodump定期备份全量数据,生产环境建议每日一次,开发环境可每周一次。
    • 示例命令:mongodump --host localhost --port 27017 --out /backup/mongodb/full_$(date +%Y%m%d)
  2. 增量备份

    • 通过--since参数备份自上次备份以来的变更数据,适合数据量大的场景。
    • 示例:mongodump --db mydb --since "2025-01-01T00:00:00Z" --out /backup/incremental
  3. 自动化与定时任务

    • 编写脚本结合cron定时执行备份,如每天凌晨2点运行。
    • 脚本示例:压缩备份文件并删除原始文件,记录日志。
  4. 存储与安全

    • 存储备份到异地或云存储,避免单点故障。
    • 敏感数据加密备份文件。

恢复策略

  1. 工具恢复

    • 使用mongorestore恢复全量或指定数据库/集合,支持从压缩文件恢复。
    • 示例:mongorestore --host localhost --db mydb /backup/mongodb/full_20250817.tar.gz
  2. 时间点恢复(Oplog)

    • 备份时启用Oplog记录,恢复时通过--oplogReplay回放操作,实现精确到时间点的恢复。
    • 命令:mongorestore --oplogReplay --oplogLimit "2025-08-17T12:00:00Z" /backup/mongodb
  3. 文件系统快照

    • 对支持快照的存储(如LVM)创建数据目录快照,快速恢复大规模数据库。
  4. 恢复前准备

    • 停止MongoDB服务,确保数据一致性。
    • 恢复后验证数据完整性,可通过mongorestore --dryRun模拟测试。

最佳实践

参考来源:

0
看了该问题的人还看了