以下是在Debian系統中恢復MongoDB數據的主要方法:
使用備份文件恢復
通過mongorestore命令還原全量或增量備份數據,需提前用mongodump創建備份。
mongorestore --db <數據庫名> /path/to/backup
利用Oplog恢復
通過回放操作日志(Oplog)還原誤刪或故障前的數據,需先備份Oplog文件。
# 查找刪除操作
use local
db.oplog.rs.find({"op": "d", "ns": "<數據庫名>.<集合名>"})
# 手動插入恢復數據
db.<集合名>.insertOne({<數據內容>})
數據復制恢復
若為副本集或分片集群,可將正常節點數據復制到故障節點,或通過rsync同步數據目錄。
sudo rsync -avz /data/正常節點/ /data/故障節點/
使用修復工具
mongod --repair:修復損壞的WiredTiger數據文件(需先停止服務)。注意事項:
參考來源:[1,2,3,4,5,6,7,8,9,10,11]