如何重置MongoDB副本集设置


16

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

一群人说要删除的数据库内容,但有什么解决办法?

Answers:


19

如果要保留数据,但要在副本集之外启动,只需重新启动mongod进程,而无需在--replSet和和上另一个端口上。这将为您提供一个独立的mongod。

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

完成此操作后,您对独立实例感到满意,然后可以使用其他--replSet参数重新启动并再次执行副本集配置过程:

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

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


//使用与分配的端口不同的启动服务器,但具有相同的Db文件夹。通过mongoi客户端连接到新端口:使用本地db.system.replset.remove({“ _ id”:“ replset”})//将引号中的replset更改为您的名字?db.system.replset.find()db.adminCommand({shutdown:1})//然后在其他端口上重新启动
tgkprog

5

您无需删除任何数据库文件即可重置副本集的配置。

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

一旦确定所有节点均未运行并且“本地”数据库已消失,请再次启动mongod进程(当然使用--replSet标志)。然后运行rs.initiate()。



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

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.