sudo systemctl stop mongod(若使用旧版本systemd,可用sudo service mongod stop)。/var/lib/mongodb)至备份路径。sudo cp -R /var/lib/mongodb /var/lib/mongodb-backup。mongorestore是MongoDB官方提供的恢复工具,适用于有备份文件的情况。
mongodump --db dbname /path/to/backup生成),执行:mongorestore --db 数据库名 /path/to/backup/directory/mydb的数据库,备份路径为/backups/mongodb:mongorestore --db mydb /backups/mongodb。users集合),可指定集合名:mongorestore --db 数据库名 --collection 集合名 /path/to/backup/directory/数据库名/集合名.bsonmydb中的users集合:mongorestore --db mydb --collection users /backups/mongodb/mydb/users.bson。若MongoDB部署了复制集,可通过oplog(操作日志)回放未同步的操作,恢复到故障前的某一时间点。
执行命令:mongorestore --db 数据库名 --oplogReplay /path/to/backup/directory/
示例:恢复mydb数据库并回放oplog:
mongorestore --db mydb --oplogReplay /backups/mongodb。
若没有备份或备份损坏,可尝试第三方数据恢复工具(如易我数据恢复、DiskGenius等)。操作步骤大致如下:
.bson格式的集合文件)。mongorestore导入数据库。sudo systemctl start mongod。mongo shell连接本地实例,切换至目标数据库并查询数据。mongo --host 127.0.0.1 --port 27017
use mydb
show collections
db.users.find().pretty() # 查询users集合数据
/var/lib/mongodb)有读写权限。