停止MongoDB服务
为避免恢复过程中数据冲突或损坏,需先停止MongoDB服务:
sudo systemctl stop mongod
备份现有数据(可选但强烈推荐)
若当前MongoDB数据目录(默认/var/lib/mongo)中有重要数据,建议先备份,防止恢复失败导致二次损失:
sudo cp -R /var/lib/mongo /var/lib/mongo_backup
确认备份文件可用性
确保已获取有效的MongoDB备份文件(常见格式为.tar.gz压缩包或.bson文件)。若备份文件存储在远程服务器或云存储中,需提前下载至本地。
.tar.gz格式备份(常用)若备份文件是通过mongodump --gzip生成的压缩包(如mongodump-20250928.tar.gz),需先解压再恢复:
sudo tar zxvf /path/to/mongodump-20250928.tar.gz -C /
解压后,备份数据会存放在/var/lib/mongo目录(默认MongoDB数据目录)。mongod)对数据目录有读写权限:sudo chown -R mongod:mongod /var/lib/mongo
sudo systemctl start mongod
mongo
> show dbs # 查看数据库列表
> use your_database # 切换至目标数据库
> db.your_collection.find() # 查看集合中的数据
.bson格式备份若备份文件是.bson格式(如backup.bson),需使用mongorestore工具直接恢复:
sudo yum install -y mongodb-org-tools
sudo mongorestore --db your_database_name /path/to/backup.bson
其中,your_database_name为目标数据库名称,/path/to/backup.bson为备份文件路径。sudo systemctl start mongod
/var/lib/mongo目录的所有者为mongod(sudo chown -R mongod:mongod /var/lib/mongo)。/var/log/mongodb/mongod.log)定位具体错误原因。oplog(操作日志)恢复到故障前的某一时间点。需确保备份时开启了oplog(默认开启),具体命令参考MongoDB官方文档。MongoDB Ops Manager或第三方工具(如MongoDB Compass、Robo 3T)辅助恢复,但需注意工具的安全性。