㈠ mongodb數據被誤刪除,沒有備份數據,只有日誌和jonural文件,請問能恢復嗎
正常來說不行的。
mongodb的journal只是在mongod真正把改動寫進資料庫文件之前記錄這個操作,以防在進程突然中斷時資料庫文件會損壞而已,對於刪除操作,journal里並沒有原來的數據。
在特殊的境況下,比如操作剛剛寫進journal,還沒有真正寫進資料庫文件的時候,如果你把mongod進程中斷了,那麼就可以保存原來的數據,但是默認的journalCommitInterval是100毫秒,所以基本上是來不及的。
另一種情況,是如果你是在一個replica set裡面,有可能在刪除primary之後,改動還沒有來得及傳播到某些replica set的成員,在這個之前你能把那些replica set的連接中斷,是可以保住原來的數據的。