当前位置: 首页 > 知识库问答 >
问题:

为什么我的mongodb集合会自动删除?

暴奕
2023-03-14

我在三个EC2实例中有一个MongoDB客户机,并创建了一个副本集。上一次我遇到了一个问题,空间限制导致mongod进程停止,从而使应用程序停止,现在在几天前的一个实例中,我的一些表从数据库中消失了,所以我将日志记录和所有设置到数据库中,以便捕捉再次发生类似情况的情况。在今天早上的一个新事件中,我无法登录到我的系统,这时我发现整个数据库都是空的。我检查了其他类似这样的问题,建议设置TTL.,但我根本没有这样做。
现在如何调试这种情况并进行正确的根本原因分析?我甚至在调试日志中也找不到任何东西。桌子不见了。如何设置正确的日志记录机制,以及如何确保不再删除所有表?

共有1个答案

卢子民
2023-03-14

今天,我收到一封来自Amazon的邮件,说我可能正在运行一个不安全的MongoDB版本,这可能导致了这个问题。因此,谁曾经面临这个问题,请通过MongoDB提供的安全检查表。其中有些观点是绝对必要的。
1。启用访问控制并强制身份验证
2。加密通信
3。限制网络曝光

这三个是核心,根据有多少人访问数据库,您可以配置基于角色的访问控制

这些都是我做过的事情。在这件事之前,我并没有把安全看得那么认真,但在我被它打击之后。我确保我有所有必要的预防措施。希望这能帮到别人。

 类似资料:
  • 在 MongoDB 中,可以使用 drop() 方法来从数据库中删除指定集合,它会从数据库中完全删除一个集合,并且不会留下与已删除集合关联的任何索引。 drop() 方法在使用时不需要带有任何参数,并且在使用参数调用时会产生错误,该方法的语法格式如下: db.collection_name.drop() 其中 collection_name 为要删除的集合名称,方法调用成功会返回 true,否则返

  • 我有一个有上限的集合,它是在java代码中创建的: 现在在这个集合的统计数据中,我们有: 如果我尝试使用此代码插入集合中的文档: 我发现了这个错误: 我做错了什么?如何修复它?(排除到. down()此集合并重新创建)感谢您的回答!

  • 问题内容: 考虑以下功能: 它们应该是等效的。但是存在性能差异: 不带的版本else慢10%。这非常重要。为什么? 问题答案: 对我来说,它们的速度几乎相同:(Debian上的Python 2.6.6) 字节码也非常相似: 唯一的区别是,如果控制到达函数主体的末尾,则else返回包含代码的版本None。

  • 问题内容: 我有以下架构,其中项目类型可能有所不同,并在中提到。 我正在尝试进行动态查找,以便填充item对象。但这似乎不起作用。 我知道我可以使用,但想知道是否可以使用$ lookup 问题答案: 到目前为止,您还不能。该字段不能是表达式,而必须是字符串文字。但是,您可以在这里跟踪一个未解决的问题,该问题似乎恰恰是您所需要的:https : //jira.mongodb.org/browse/S

  • 无法从外壳中删除集合, 集合可用并且我的 php 脚本正在访问它的东西(选择|更新) 但当我使用: 它给了我一个错误: