21

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

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

有命令可以重新配置集或删除成员,但我不知道删除最后一个成员并因此破坏副本集。

4

3 回答 3

40

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

  1. --replSet不带参数重启 mongod 进程。
  2. 删除本地数据库:

    use local;
    db.dropDatabase();
    
于 2013-05-28T20:13:48.310 回答
8

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

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

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

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

rs.initiate()
rs.reconfig(conf)

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

于 2016-11-01T15:02:31.323 回答
0
  1. 转到辅助服务器上的 mongo shell

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

  • > use admin
  • > db.shutdownServer()
  1. 转到辅助服务器上的 Linux shell- 并键入以下命令:
  • sudo service mongod stop

欲了解更多信息,请查看以下链接:

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

于 2016-03-16T13:37:39.577 回答