恢复前需停止MongoDB服务,防止数据写入导致恢复失败或损坏。
sudo systemctl stop mongod
恢复前备份当前MongoDB数据目录(默认/var/lib/mongo),避免恢复过程中出现意外可回滚。
sudo cp -R /var/lib/mongo /var/lib/mongo_backup
.tar.gz压缩包或.bson文件)。.bson格式备份,需安装MongoDB官方工具包(含mongorestore命令)。sudo yum install -y mongodb-org-tools
根据备份格式选择对应恢复方式:
.tar.gz格式备份解压备份文件到MongoDB默认数据目录(/var/lib/mongo):
sudo tar zxvf /path/to/your/backup.tar.gz -C / # 解压到根目录
sudo mv /data/db /var/lib/mongo # 移动解压后的数据目录到标准位置
.bson格式备份使用mongorestore命令指定备份文件路径和目标数据库(若数据库不存在会自动创建):
sudo mongorestore --db your_database_name /path/to/your/backup.bson
sudo mongorestore --host <hostname> --port <port> --username <username> --password <password> --authenticationDatabase admin /path/to/your/backup.bson
sudo rm -rf /var/lib/mongo
mongod)拥有恢复后数据目录的所有权:sudo chown -R mongod:mongod /var/lib/mongo
恢复完成后启动服务:
sudo systemctl start mongod
检查服务状态,确认运行正常:
sudo systemctl status mongod
连接到MongoDB Shell,检查数据库和集合是否恢复:
mongo
# 查看数据库列表
show dbs
# 切换到目标数据库
use your_database_name
# 查看集合中的数据
db.your_collection_name.find()
tar -tzvf backup.tar.gz查看压缩包内容,或尝试读取.bson文件)。/var/log/mongodb/mongod.log)定位问题。