mongodb - dropDatabase 为带有副本集的 mongoDB 中的所有数据库自行调用

标签 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 服务器究竟发生了什么。此外,我们将不胜感激任何指点。

最佳答案

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

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

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

关于mongodb - dropDatabase 为带有副本集的 mongoDB 中的所有数据库自行调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45823820/

相关文章:

mongodb - Doctrine ODM 地理空间查询的正确查询是什么?

node.js - Mongo 副本集找不到主副本

python - Cassandra 或 MongoDB 可实现良好的扩展性和大量查询

MongoDB 内存不足

ruby - 如何将数据发布到 Volt 应用程序?

mongodb - 如果仲裁器宕机了怎么办?

mongodb - Mongo只读同步数据库

c# - 使ADO.NET(和EntityFramework)发布数据库

mysql - 删除数据库时出现 "ERROR 2013 (HY000): Lost connection to MySQL server during query"

postgres-xl - 在 Postgres 中删除名称中包含 "minus"的数据库