【问题标题】:mongodb cannot drop database when secondary is down辅助关闭时,mongodb 无法删除数据库
【发布时间】:2019-03-13 07:45:59
【问题描述】:

我有一个包含 1 个主节点、1 个辅助节点和 1 个仲裁节点的副本集。当我关闭次要成员时,我无法删除数据库。它在等待着什么。但是,如果我打开次要成员,dropDatabase 就可以了。这是什么原因?我们不能在没有任何辅助成员的情况下删除数据库吗?

【问题讨论】:

  • 您使用的是哪个版本的 MongoDB?
  • “当我关闭次要成员时”是什么意思?
  • 我尝试了 3.6 和 4.0.2 版本。我的意思是我停止服务。

标签: mongodb replicaset drop-database


【解决方案1】:

从 MongoDB 3.6 开始,dropDatabase 现在带有 writeConcern。默认设置为majority。这意味着,在 3 个副本集集群中,至少有 2 个数据承载节点(不是仲裁器)需要应用相同的更改。

如果你真的想要,你可以通过使用writeConcern1 来强制dropDatabase 仅使用一个数据承载节点来完成。但是,这可能会导致rollback

有关writeConcern 的更多信息以及如何设置它,请参阅文档: https://docs.mongodb.com/manual/reference/write-concern/

【讨论】:

  • 谢谢罗伯特。这对我很有帮助。
  • 很高兴听到这个消息!如果您认为它也可以帮助其他人,请将其标记为已接受的答案。
猜你喜欢
  • 2023-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-02
  • 2018-05-04
  • 1970-01-01
  • 2017-10-19
相关资源
最近更新 更多