重命名自管理副本集
要重命名副本集,您必须关闭副本集的所有成员,然后配置每个成员的local
数据库使用新的副本集名称。
此过程需要停机。
先决条件
过程
1
关闭副本集成员。
按照停止副本集中的步骤进行操作,以确认副本集成员已关闭。
警告
此步骤需要停机,因为所有副本集成员都需要关闭。
2
重命名副本集。
为每个副本集成员执行以下步骤
在不使用
--replSet
选项的情况下,在另一个端口上启动副本集成员。更新副本集名称。
如果使用配置文件,将
replication.replSetName
设置为新名称。
连接到副本集成员。
使用以下命令在 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}) 关闭 副本集成员。
在原始端口上启动副本集成员。
如果使用配置文件,请确保
replication.replSetName
设置为新副本集名称。