我想重新开始副本的配置,可以吗?如何重置?
在团体人们说要删除数据库内容,但是有什么解决方法吗?
答案1
如果您想保留数据,但在副本集之外启动,只需重新启动不带 mongod 进程--replSet
并在其他端口上运行即可。这样您就可以获得一个独立的 mongod。
要完全确定副本集配置已从实例中消失,请确保集合local.system.replset
为空。
完成后,如果您对独立实例感到满意,则可以使用不同的--replSet
参数重新启动并再次执行副本集配置过程:
http://www.mongodb.org/display/DOCS/Replica+Set+Configuration
正如您所说,另一个选择是删除所有数据文件并从头开始。
答案2
您不需要删除任何数据库文件来重置副本集的配置。
要重置配置,请确保副本集中的每个节点都已停止。然后删除每个节点的“本地”数据库。
一旦你确信所有节点都不再运行,并且local
数据库已经消失,请重新启动 mongod 进程(当然使用标志--replSet
)。然后运行rs.initiate()
。
答案3
进入 mongo shell辅助服务器
停止辅助服务器使用以下命令:
use admin
db.shutdownServer()
进入 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
- 编辑
/etc/mongod.conf
并注释掉replication: block
service mongod restart
mongo local --eval "db.dropDatabase()"
service mongod stop
- 在 Mongo 主节点上:
rs.add("this node")
- 编辑
/etc/mongod.conf
并取消注释replication: block
service mongod restart
您的节点将添加到现有副本集,并开始同步到现有主节点