当前位置:  开发笔记 > 编程语言 > 正文

停止副本集MongoDB

如何解决《停止副本集MongoDB》经验,为你挑选了2个好方法。

在MongoDB Shell中启动副本集的命令是rs.initiate().

这个命令的反义词是什么.如何停止副本集?

有一些命令可以重新配置集合或删除成员,但我无法删除最后一个成员,因此会破坏副本集.



1> Asya Kamsky..:

这一切都取决于你的目标是什么.如果要将现有mongod服务器重用为独立服务器而不是副本集成员,那么执行此操作的步骤将是:

    不带--replSet参数重启mongod进程.

    删除本地数据库:

    use local;
    db.dropDatabase();
    


您必须在没有--replSet标志的情况下重新启动服务器,然后才能删除本地.
MongoDB 2.6错误日志声明你只需要清空local.system.replset,而不是删除整个本地数据库.所以,`使用local`,然后`db.system.replset.remove({})`.

2> ABrowne..:

我刚在生产中遇到这个问题。@maganap(3月15日)的评论保存了我的培根!

使用mongodb 3.2.10,无需转储操作日志,只需对第一个成员执行此操作:

use local
db.system.replset.remove({}) 

然后重新启动成员。现在仍然有它的oplog和它的数据。赶紧跑:

rs.initiate()
rs.reconfig(conf)

其中conf是新的conf。然后,在其他每个成员上,只需运行上面的replset数据的垃圾收集并重新启动它们。当他们开始时,他们将加入集合。

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有