记一次--------linux集群连接远程mongo库无法写入数据问题

因为我们部门集群与公司mongo集群是不在同一集群上,但是在同一内网,所以应该是正常可以访问。
 
1.确保两个集群之间是可以互相访问的
    使用telnet命令 
可以正常通信
 
2.通过mongo shell 测试连接 
 
两种连接方式:
mongo -u test -p test --host 127.0.0.1 --port 27017        //适用于mongo版本4.x以下
 
mongo 127.0.0.1:27017/数据库名 -u test -p test            //适用于mongo版本4.x以上
 
也可以连接成功。
 
3.将数据库信息配置到程序代码中,执行程序 报错:
日志信息也很明确,连接ip 端口都成功,但是mongo的uri报错。
 
因为在集群测试的时候,我们首先运行程序写入在本地集群的mongodb一切正常。然后写入远程mongodb就报错。
 
进行对比,本地mongo的用户密码是简单的test, 而运维给的远程密码是有特殊字符!%等。 怀疑是不是因为特殊字符需要转义。尝试修改远程mongo的用户密码为简单的英文字母组合, 连接成功。
 
    连接mongo需要考虑在uri中拼接如的用户名或者密码找那个有特殊字符,需要进行转义处理。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

猜你喜欢

转载自www.cnblogs.com/yzqyxq/p/12729306.html