为什么用副本集
单节点副本集 = 给单机 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