对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

重命名自管理副本集

要重命名MongoDB副本集,必须关闭副本集的所有节点,然后使用新的副本集名称配置每个节点的 local数据库。

该程序需要停机。

  • 确保副本集未分片。重命名过程仅适用于未分片的副本集。

  • 在重命名副本集之前,请执行完整的 MongoDB 部署备份。

  • 启用身份验证后,确保用户角色对每个节点的 local 数据库中的 system.replset 集合具有 find、insert 和 remove 权限。

    提示

    可以通过发出 rolesInfo 命令并将 showPrivileges 和 showBuiltinRoles 字段均设置为 true 来查看角色的特权。

1

按照停止副本集中的步骤确认副本集成员已关闭。

警告

此步骤需要停机,因为需要关闭所有副本节点。

2

对每个副本集节点执行以下步骤:

  1. 在不使用 --replSet 选项的其他端口上启动副本集成员。

  2. 更新副本集名称。

  3. 连接到副本集成员。

  4. 使用以下命令更新本地数据库中的副本集名称:

    /* Set `newId` to the new replica set name */
    var newId = '<new replica set name>'
    var doc = db.getSiblingDB("local").system.replset.findOne()
    var oldId = doc._id
    doc._id = newId
    db.getSiblingDB("local").system.replset.insertOne(doc)
    db.getSiblingDB("local").system.replset.deleteOne({_id: oldId})
  5. 关闭副本集节点。

    注意

    Ops Manager

    If you are using Ops Manager, you must stop Ops Manager from managing the replica set before you shut down the replica set member. For more information on this procedure, see Remove a Process from Ops Management

  6. 在其原始端口启动副本集成员。

给本页内容打分

在此页面上