dropDatabase 使用副本集自行调用 mongoDB 中的所有数据库



我们使用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服务器到底发生了什么。此外,任何指针将不胜感激。

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

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

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

最新更新