㈠ mongodb数据被误删除,没有备份数据,只有日志和jonural文件,请问能恢复吗
正常来说不行的。
mongodb的journal只是在mongod真正把改动写进数据库文件之前记录这个操作,以防在进程突然中断时数据库文件会损坏而已,对于删除操作,journal里并没有原来的数据。
在特殊的境况下,比如操作刚刚写进journal,还没有真正写进数据库文件的时候,如果你把mongod进程中断了,那么就可以保存原来的数据,但是默认的journalCommitInterval是100毫秒,所以基本上是来不及的。
另一种情况,是如果你是在一个replica set里面,有可能在删除primary之后,改动还没有来得及传播到某些replica set的成员,在这个之前你能把那些replica set的连接中断,是可以保住原来的数据的。