小弟不才,今天本來要刪除本地端的mongodb資料,結果誤刪到公司客戶的資料..其中一個資料表的資料全部被砍掉,用的是remove指令,上網查詢後發現可以透過oplog這個文件來恢復數據,但嘗試很久都失敗,沒有辦法把oplog這個文件用mongodump出來,想請各位高手幫忙.....
oplog是有容量限制的。
基本是記錄基本的資料操作。
但是.........刪除整張表的。
我還真沒辦法確定會不會記錄下來。
因為一般並不會去做這件事。
如果真沒備份的話。嗯~~~好自為之吧。
collection 在本地是用檔案存在的,
找看看 linux 的 file system 有沒有開 journal ,
從 journal 把檔案找回來即可,
這樣救回的資料可能會有資料落差,
就要看運氣好不好,
oplog 裡面能不能找回來落差的部份
我知道的较为安全的恢复资料的方法是备份。如果您在删除数据之前有备份,则可以将备份数据还原回数据库。
如果您没有备份,则可以尝试使用第三方工具来尝试恢复数据。例如,MongoDB Data Recovery 是一款用于恢复 MongoDB 数据的工具。
然而,我不能保证这种方法的安全性和有效性。因此,我强烈建议您尽早建立备份计划,以便在出现类似问题时能够更安全地恢复数据。