以下是 Debian 上 MongoDB 的数据恢复方法:
-
使用备份文件恢复
- 用
mongorestore命令从备份文件恢复数据,支持全量或增量恢复。 - 示例:
mongorestore --db dbname /path/to/backup。
- 用
-
利用 Oplog 恢复
- 通过回放操作日志(Oplog)还原数据变更,适用于副本集或未关闭写操作的场景。
- 需先备份 Oplog,再通过
mongorestore --oplogReplay恢复。
-
副本集自动恢复
- 若配置了副本集,故障节点可自动从其他节点同步数据,无需手动操作。
-
修复损坏数据文件
- 使用
mongod --repair命令修复损坏的 WiredTiger 数据文件,可能重建索引导致部分数据丢失。 - 操作前需停止服务并备份数据文件。
- 使用
-
第三方工具恢复
- 如 MongoDB Repair、WiredTiger Salvage 工具,用于修复损坏的数据库文件或提取数据。
注意事项:
- 恢复前确保备份/Oplog 数据最新,停止写操作避免数据覆盖。
- 优先通过备份恢复,工具恢复可能丢失部分数据,谨慎使用。