mongodb-clients(包含mongorestore),需先执行以下命令安装:sudo apt update && sudo apt install mongodb-clients
/var/lib/mongodb)有写入权限。为避免恢复过程中数据冲突,建议先停止MongoDB服务:
sudo systemctl stop mongod
若备份时使用了--gzip选项压缩(如mongodump --gzip --out /backups/backup),需先解压:
tar -xzvf /backups/mongodb_backup_$(date +%Y%m%d).tar.gz -C /tmp/restore_temp
解压后将备份文件放置在临时目录(如/tmp/restore_temp),便于后续操作。
使用mongorestore命令恢复数据,根据备份类型选择对应参数:
dump文件夹,内有多个数据库子目录):mongorestore /tmp/restore_temp/dump
mydb):mongorestore --db mydb /tmp/restore_temp/dump/mydb
mydb.mycollection.bson):mongorestore --db mydb --collection mycollection /tmp/restore_temp/dump/mydb/mycollection.bson
mongorestore --drop /tmp/restore_temp/dump # --drop会先删除目标数据库/集合,再恢复
恢复完成后,重启MongoDB服务:
sudo systemctl start mongod
使用mongo shell连接数据库,检查数据是否恢复成功:
mongo
> use mydb # 切换到目标数据库
> show collections # 查看集合列表
> db.mycollection.find().pretty() # 查询集合中的文档
--oplog选项(mongodump --oplog --out /backups/backup),恢复时添加--oplogReplay选项(mongorestore --oplogReplay /backups/backup)。mongodump会将备份存储在--out指定的目录(如/backups/backup),其中包含dump文件夹(所有数据库的备份)。