若然,怎么样?
当我第一次创建副本集时,我选择了一个令人困惑的名字;我现在想改变它。
/etc/mongod.conf
中提到了副本集名称,我不确定它何时读取/重读。由于副本集名称也可以作为命令行参数传递,我假设(并且正在测试)以下内容:
replSet
中重新配置,停止,更改replSet
CLI参数或/etc/mongod.conf
值,然后重新启动换句话说,我假设我原来问题的答案是“不,你必须重启”或“否,副本集名称是不可变的”。我可能很快就会想到这一点,因为我在当地尝试它。
答案 0 :(得分:33)
以下是如何使用停机时间:
使用新的副本集名称更新每台服务器上的local.system.replset doc。 你必须在这里更换每台服务器。
以下是如何更新mongo shell中的local.system.replset:
use local
var doc = db.system.replset.findOne()
doc._id = 'NewReplicaSetName'
db.system.replset.save(doc)
db.system.replset.remove({_id:'OldReplicaSetName'})
答案 1 :(得分:8)
getData()
答案 2 :(得分:0)
没有
见thread "Change replica set name" in mongodb-user ... Kristina Chodorow断言停机是必要的。
一旦我弄明白,我会在这里添加有关如何更改副本集名称(停机时间)的说明(除非别人打败我)。