替换副本集成员

在本页面

如果您需要更改副本集成员的主机名而不更改该成员或集的配置,则可以使用本教程中概述的操作。例如,如果必须重新供应系统或重命名主机,则可以使用此模式来最小化该更改的范围。

Operation

要更改副本集成员的主机名,请修改members[n].host字段。重新配置集合时,members[n]._id字段的值不会更改。

有关更多信息,请参见副本集配置rs.reconfig()

Note

任何副本集配置更改都会触发当前primary降级,从而强制election。在选举期间,当前的 shell 会话和连接到此副本集的 Client 端断开连接,即使操作成功,该连接也会产生错误。

Example

要将在members[0]上配置的副本集成员的主机名更改为mongo2.example.net,请发出以下命令序列:

cfg = rs.conf()
cfg.members[0].host = "mongo2.example.net"
rs.reconfig(cfg)