文档菜单
文档首页
/
MongoDB 手册
/ / /

重命名自管理副本集

本页内容

  • 先决条件
  • 步骤

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

此过程需要停机。

  • 确保您的副本集不是分片。重命名过程仅适用于非分片副本集。

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

  • 当启用认证时,请确保您的用户角色在每个成员的 local 数据库中的 system.replset 集合上具有 findinsertremove 权限。

    提示

    您可以通过使用 rolesInfo 命令并设置 showPrivilegesshowBuiltinRoles 字段都为 true 来查看角色的权限。

1

按照停止副本集中的步骤进行操作,以确认副本集成员已关闭。

警告

此步骤需要停机,因为所有副本集成员都需要关闭。

2

为每个副本集成员执行以下步骤

  1. 在不使用 --replSet 选项的情况下,在另一个端口上启动副本集成员。

  2. 更新副本集名称。

  3. 连接到副本集成员。

  4. 使用以下命令在 local 数据库 中更新副本集名称

    /* 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. 关闭 副本集成员。

    注意

    运维管理器

    如果您使用运维管理器,在关闭副本集成员之前,必须停止运维管理器对副本集的管理。有关此过程的更多信息,请参阅从运维管理中移除进程

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

返回

配置同步目标

本页内容