停止副本集MongoDB

时间:2013-05-28 20:01:52

标签: linux mongodb

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

此命令的反义词是什么。如何停止副本集?

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

3 个答案:

答案 0 :(得分:35)

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

  1. 重新启动没有--replSet参数的mongod进程。
  2. 删除本地数据库:

    use local;
    db.dropDatabase();
    

答案 1 :(得分:5)

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

使用mongodb 3.2.10,无需转储oplog,只需在第一个成员上执行此操作:

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

然后重启会员。它现在仍然有它的oplog,它的数据。跑吧:

rs.initiate()
rs.reconfig(conf)

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

答案 2 :(得分:0)

1)转到辅助服务器上的mongo shell

2)使用以下命令停止辅助服务器:

use admin db.shutdownServer()

2]转到Linux shell-on辅助服务器并输入以下命令:

sudo service mongod stop

有关详情,请查看以下链接:

http://www.tutespace.com/2016/03/stopping-and-starting-mongodb.html