我有一个运行3个成员副本集的MongoDB。所有成员都已启动并运行。
我有一个包含4-5个集合的数据库,我想删除该数据库。
做这件事最好的方法是什么?我可以只在主服务器上使用db.dropDatabase()吗?在删除数据库之前,是否需要停止辅助数据库?删除数据库后,辅助成员是否会自动同步到主要成员?内存是怎么回事,删除数据库后会不会空闲?
发布于 2014-03-12 03:07:41
是。只需在主服务器中使用命令db.dropDatabase()删除数据库,更改也会传播到次要服务器。您不需要关闭辅助服务器。
发布于 2016-01-05 05:34:48
正如Anand Jayabalan所说,您只需要删除主节点上的数据库。复制将读取次要数据库的oplog,完成其余工作。
参考链接和官方文档中的。
主节点是副本集中唯一接收写操作的成员。MongoDB在主映像上应用写操作,然后在主映像的oplog上记录这些操作。辅助成员复制此日志,并将操作应用于其数据集。
参考:
https://docs.mongodb.org/manual/core/replication-introduction/
https://stackoverflow.com/questions/22333828
复制相似问题