刘常宁

正在加载内容与界面动效

mongodb副本集

2026/03/202 次浏览0 个赞

为什么用副本集

单节点副本集 = 给单机 MongoDB 打开事务能力 多节点副本集 = 事务 + 高可用 + 自动故障切换

创建keyfile

root@666:~# mkdir -p /opt/1panel/mongo-rs
root@666:~# openssl rand -base64 756 > /opt/1panel/mongo-rs/keyfile
root@666:~# chmod 400 /opt/1panel/mongo-rs/keyfile
root@666:~# chown 999:999 /opt/1panel/mongo-rs/keyfile

主节点搞定后,复制keyfile到后续要增加的节点服务器上,权限一样,正常情况直接空库加入

新增节点流程

mongosh "mongodb://mongo_xxx:mongo_xxx@888.88.88.88:11111/?authSource=admin&replicaSet=rs0"

rs.add("新机器IP:端口")

rs.status()

等到:stateStr: "SECONDARY" 返回

多节点连接字符串: mongodb://mongo_xxx:mongo_xxx@888.88.88.88:11111,2.2.2.2:37111/?authSource=admin&replicaSet=rs0

单节点连接字符串: mongodb://mongo_xxx:mongo_xxx@888.88.88.88:11111/?authSource=admin&replicaSet=rs0