以下是在Debian系统中恢复MongoDB数据的主要方法:
使用备份文件恢复
通过mongorestore
命令还原全量或增量备份数据,需提前用mongodump
创建备份。
mongorestore --db <数据库名> /path/to/backup
利用Oplog恢复
通过回放操作日志(Oplog)还原误删或故障前的数据,需先备份Oplog文件。
# 查找删除操作
use local
db.oplog.rs.find({"op": "d", "ns": "<数据库名>.<集合名>"})
# 手动插入恢复数据
db.<集合名>.insertOne({<数据内容>})
数据复制恢复
若为副本集或分片集群,可将正常节点数据复制到故障节点,或通过rsync
同步数据目录。
sudo rsync -avz /data/正常节点/ /data/故障节点/
使用修复工具
mongod --repair
:修复损坏的WiredTiger数据文件(需先停止服务)。注意事项:
参考来源:[1,2,3,4,5,6,7,8,9,10,11]