1、 mongodb直连和副本集方式连接的区别
一、使用直连 directConnection
mongodb://用户名:密码@ip/主机名:端口/访问的库?authSource=校验的库&directConnection=true&readPreference=primary
二、使用主从模式连接 replicaSet
mongodb://用户名:密码@ip/主机名:端口1,ip/主机名:端口2,ip/主机名:端口3/访问的库?replicaSet=副本集名&readPreference=primary&authSource=校验的库
三、两种连接方式区别
由于副本集的切换机制,在主节点故障的情况下,集群内其他从节点会通过投票方式产生新的主节点。因此,不能像单机情况下那样,直接连接主节点;
否则在MongoDB自动切换主节点时,数据库访问就会出问题。
主从副本集模式中,不应该直连方式。
2、修改远程连接的ip,即对副本集config配置的更新
使用reconfig命令
//先定义config:
config={_id:“rs”,members:[{_id:3,host:“xxxx:port1”},{_id:1,host:“xxxx:port2”}..]}
//在执行更新操作:
rs.reconfig(config)
//也可以利用config=rs.config()获取原始的config文件,然后进行修改,修改之后再执行 rs.reconfig(config),如下:
config=rs.config()
config.members[0].host=“xxxx:port”
//多个可一一设置
...
rs.reconfig(config)
参考链接
Mongodb direct|replicaSet连接复制集的区别:https://blog.csdn.net/qq_41084438/article/details/121442890
MongoDB副本集配置:https://blog.csdn.net/2401_84048554/article/details/137806994
连接失败常见报错:
https://help.aliyun.com/zh/mongodb/support/errors-related-to-failed-connections