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)有讀寫權限。