“文档” 菜单
文档首页
/
MongoDB Manual
/ /

重命名副本集

在此页面上

  • 先决条件
  • 步骤

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

该程序需要停机。

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

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

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

    提示

    可以通过发出 rolesInfo 命令并将 showPrivilegesshowBuiltinRoles 字段均设置为 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

    如果您正在使用 Ops Manager,则在关闭副本集成员之前,必须停止 Ops Manager 对副本集的管理。有关此过程的详细信息,请参阅 从 OPS 管理删除进程

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

后退

配置从节点的同步目标

来年

安全地修改 PSA 副本集

在此页面上