如何重置 MongoDB 副本集设置

如何重置 MongoDB 副本集设置

我想重新开始副本的配置,可以吗?如何重置?

团体人们说要删除数据库内容,但是有什么解决方法吗?

答案1

如果您想保留数据,但在副本集之外启动,只需重新启动不带 mongod 进程--replSet并在其他端口上运行即可。这样您就可以获得一个独立的 mongod。

要完全确定副本集配置已从实例中消失,请确保集合local.system.replset为空。

完成后,如果您对独立实例感到满意,则可以使用不同的--replSet参数重新启动并再次执行副本集配置过程:

http://www.mongodb.org/display/DOCS/Replica+Set+Configuration

正如您所说,另一个选择是删除所有数据文件并从头开始。

答案2

您不需要删除任何数据库文件来重置副本集的配置。

要重置配置,请确保副本集中的每个节点都已停止。然后删除每个节点的“本地”数据库。

一旦你确信所有节点都不再运行,并且local数据库已经消失,请重新启动 mongod 进程(当然使用标志--replSet)。然后运行rs.initiate()

答案3

  1. 进入 mongo shell辅助服务器

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

   use admin
   db.shutdownServer()
  1. 进入 Linux shell-on辅助服务器并输入以下命令:

    sudo service mongod stop

启动 MongoDB 复制 -

  • 转到 Linux shell - 开启辅助服务器并输入以下命令:

    sudo service mongod start

启动 MongoDB 复制 -

  • 主服务器并输入以下命令来开始复制:

A]rs.initiate()

二]rs.add("Secondar -1:port no")

C]rs.add("Secondary-2:port no")

d]rs.add({ "_id" : 3, "host" : "Hidden_member:port no", "priority" : 0, "hidden" : true })

e]rs.status()

欲了解更多信息,请查看以下链接:http://www.tutorial-points.com/2016/03/stopping-and-starting-mongodb.html

答案4

  1. 编辑/etc/mongod.conf并注释掉replication: block
  2. service mongod restart
  3. mongo local --eval "db.dropDatabase()"
  4. service mongod stop
  5. 在 Mongo 主节点上: rs.add("this node")
  6. 编辑/etc/mongod.conf并取消注释replication: block
  7. service mongod restart

您的节点将添加到现有副本集,并开始同步到现有主节点

相关内容