如何实现 MongoDB 副本集主从切换

流程图

flowchart TD
    A[创建副本集] --> B[切换主从]

关系图

erDiagram
    MASTER --> SLAVE1: 主从关系
    MASTER --> SLAVE2: 主从关系

整体流程

创建一个 MongoDB 副本集,然后在需要切换主从时进行操作。

步骤

步骤 操作
1 创建副本集
2 设置优先级
3 执行切换主从操作

详细步骤

1. 创建副本集

```mongodb
rs.initiate( {
   _id : "myReplicaSet",
   members: [
      { _id: 0, host: "mongodb1:27017" },
      { _id: 1, host: "mongodb2:27017" },
      { _id: 2, host: "mongodb3:27017", arbiterOnly: true }
   ]
})

说明:通过以上代码创建了一个名为 myReplicaSet 的副本集,包含三个成员,其中一个为投票节点。

#### 2. 设置优先级

```markdown
```mongodb
cfg = rs.conf()
cfg.members[1].priority = 0
rs.reconfig(cfg)

说明:将第二个成员的优先级设为 0,这样可以确保该成员不会成为主节点。

#### 3. 执行切换主从操作

```markdown
```mongodb
rs.stepDown()

说明:执行该命令会让当前主节点主动下线,从而触发选举产生新的主节点。

### 总结

通过以上步骤,我们可以实现 MongoDB 副本集的主从切换。在实际应用中,我们需要根据具体情况调整优先级和成员配置,确保数据的高可用性和可靠性。希望以上内容对你有所帮助,欢迎继续探索 MongoDB 的更多功能和用法!