dropDatabase自己为mongoDB中具有副本集的所有数据库调用

时间:2017-08-22 17:37:52

标签: mongodb mongodb-replica-set drop-database

我们将mongoDB用作生产数据库的DBMS。我们为数据库启用了2个副本集。

出乎意料的是,我们发现生产中的两个数据库都被删除了。我们绝对相信没有人可以访问它。当我们浏览日志时,我们注意到两个数据库上的dropDatabase确实已被调用。但是,我们找不到任何连接建立的日志语句。如果有人使用mongo shell或bash删除数据库,那么也应该有新连接的日志。

主要日志声明:

2017-08-17T14:38:47.019+0000 I -        [conn527] AssertionException handling request, closing client connection: 17132 SSL handshake received but server is started without SSL support
2017-08-22T00:18:22.694+0000 I COMMAND  [conn541] dropDatabase db1 starting
2017-08-22T00:18:22.708+0000 I COMMAND  [conn541] dropDatabase db1 finished
2017-08-22T00:18:23.832+0000 I COMMAND  [conn542] dropDatabase db2 starting
2017-08-22T00:18:23.843+0000 I COMMAND  [conn542] dropDatabase db2 finished 

从第一行的时间戳可以看出,过去5天内没有与mongo服务器建立新的连接

有人可以帮助我们了解我们的mongodb服务器究竟发生了什么。此外,任何指针将不胜感激。

1 个答案:

答案 0 :(得分:0)

如果您的实例仍在运行,您可以发出

db.adminCommand( { getLog: "global" } )

以了解发生了什么。 getLog命令从RAM而不是日志文件中读取MongoDB日志 - 以防万一有人篡改了日志文件...