【问题标题】:Delete database from mongodb with replica set使用副本集从 mongodb 中删除数据库
【发布时间】:2014-03-11 18:41:49
【问题描述】:

我有一个运行 3 个成员副本集的 MongoDB。所有成员都已启动并运行。

我有一个包含 4-5 个集合的数据库,我想删除该数据库。

最好的方法是什么。我可以只在主节点上使用 db.dropDatabase() 吗? 在删除数据库之前是否需要停止辅助?删除数据库后,次要成员会自动同步到主要成员吗?内存呢,我删除数据库后会释放吗?

【问题讨论】:

    标签: mongodb


    【解决方案1】:

    是的。只需在主数据库中使用命令db.dropDatabase() 删除数据库,更改也会传播到辅助数据库。您无需关闭辅助服务器。

    【讨论】:

      【解决方案2】:

      正如 Anand Jayabalan 所说,您只需将数据库放在主节点上即可。复制完成其余的读取辅助节点的 oplog。

      来自参考链接和官方文档。

      主节点是副本集中唯一接收写入操作的成员。 MongoDB 在主节点上应用写操作,然后在主节点的 oplog 上记录这些操作。次要成员复制此日志并将操作应用于他们的数据集。

      参考:

      https://docs.mongodb.org/manual/core/replication-introduction/

      https://docs.mongodb.org/manual/core/replica-set-primary/

      【讨论】:

      • 欢迎来到 Stack Overflow!虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
      • 谢谢。我会将链接更改为参考链接。
      猜你喜欢
      • 1970-01-01
      • 2015-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多