Appearance
MongoDB 备份与恢复
mongodump 逻辑备份
将数据导出为 BSON 文件(逻辑备份):
bash
# 备份整个实例到目录 dump/
mongodump --uri="mongodb://localhost:27017" --out=./dump
# 只备份指定数据库
mongodump --uri="mongodb://localhost:27017" --db=mydb --out=./dump
# 带认证
mongodump --uri="mongodb://user:pass@localhost:27017/mydb" --out=./dump生成 dump/<dbname>/ 下各集合的 .bson 和 .metadata.json。
mongorestore 逻辑恢复
从 dump 目录恢复:
bash
# 恢复整个 dump 目录
mongorestore --uri="mongodb://localhost:27017" ./dump
# 只恢复指定库
mongorestore --uri="mongodb://localhost:27017" --db=mydb ./dump/mydb副本集/分片注意点
- 从 Secondary 做 dump 时可用
--readPreference=secondary,避免影响 Primary。 - 分片集群通常对每个 shard 分别备份,或使用一致性快照(见下)。
文件系统/快照备份
生产环境常配合文件系统快照(如 LVM、EBS 快照)在某一时刻做物理备份,再结合 oplog 做按时间点恢复。具体步骤依赖部署环境与 MongoDB 版本,请参考官方 Backup and Restore。
下一节介绍 MongoDB 监控。