gpt4 book ai didi

mongodb - 我可以在 mongod 进程运行时更改副本集的名称吗?

转载 作者:行者123 更新时间:2023-12-01 23:24:04 25 4
gpt4 key购买 nike

如果是这样,怎么办?

当我第一次创建副本集时,我选择了一个令人困惑的名称;我现在想更改它。

副本集名称在 /etc/mongod.conf 中提到,我不确定它何时读取/重新读取该名称。由于副本集名称也可以作为命令行参数传入,因此我假设(并且当前正在测试)以下内容:

  • 它只在启动时使用一次副本集名称,同时与其他节点同步
  • 我必须重新配置、停止、更改 /etc/mongod.conf 中的 replSet CLI 参数或 replSet 值,然后重新启动<

换句话说,我假设我原来问题的答案是“不,你必须重新启动”或“不,副本集名称是不可变的”。由于我正在本地尝试,我可能很快就会弄清楚这一点。

最佳答案

以下是如何在停机时执行此操作:

  1. 停止所有服务器
    • 如果启用了身份验证,请确保将其禁用,否则可能不会授权对 local.system.replset 集合进行更改。
  2. 在不使用 --replSet 选项的情况下启动每个服务器,并指向正确的数据目录。
  3. 使用新的副本集名称更新每台服务器上的 local.system.replset 文档。 您必须更改此处的每个服务器。
    以下是如何在 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'})
  4. 再次关闭它们。
  5. 将所有服务器上的/etc/mongod.conf replSet 选项更改为新名称。
  6. 使用原始选项启动它们。

关于mongodb - 我可以在 mongod 进程运行时更改副本集的名称吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11265997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com