Network error while attempting to run command 'saslStart'
使用客户端连接远程vps服务器上的mongodb数据库时报错,ssh连接上去可以使用mongo连接,也可以使用
mongo -u admin -p passward --authenticationDatabase dbname 连接,配置文件中的ip绑定的是 0.0.0.0没问题,防火墙已经关闭了,但是在本地客户端
/etc/mongod.conf
[root@hwsrv-539295 ~]# cat /etc/mongod.conf
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# Where and how to store data.
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
# engine:
# wiredTiger:
# how the process runs
processManagement:
fork: true # fork and run in background
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
timeZoneInfo: /usr/share/zoneinfo
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.
security:
authorization: enabled
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options
#auditLog:
#snmp:
最近一次尝试连接的日志
2019-08-28T10:48:43.857+0000 I NETWORK [listener] connection accepted from 213.243.128.106:13258 #6 (1 connection now open)
2019-08-28T10:48:43.858+0000 I NETWORK [conn6] received client metadata from 213.243.128.106:13258 conn6: { application: { name: "robo3t" }, driver: { name: "MongoDB Internal Client", version: "3.4.3-10-g865d2fb" }, os: { type: "Darwin", name: "Mac OS X", architecture: "x86_64", version: "18.6.0" } }
2019-08-28T10:48:44.028+0000 E - [conn6] Assertion: Location34348: cannot translate opcode 2010 src/mongo/rpc/message.h 120
2019-08-28T10:48:44.029+0000 I NETWORK [conn6] DBException handling request, closing client connection: Location34348: cannot translate opcode 2010
2019-08-28T10:48:44.029+0000 I NETWORK [conn6] end connection 213.243.128.106:13258 (0 connections now open)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是你的客户端与4.2不兼容。升级客户端以解决问题。
根据你的错误日志:
opcode = operation code,即操作代码2010不认识。查看message.h源码可以发现,2010是一个不再使用的操作代码,后面的注释已经很说明问题了:
简单地说,你的客户端使用了一个并未公开的操作代码,并且该操作在3.6已经标记为过时了,4.2正式移除。
大兄弟,解决了吗?
我是docker 镜像部署的,感觉除了宿主机的环境略有些区别之外,其他都一样的。
个人推测,应该是缺少了 saslstart 相关的一些依赖,导致了加密/解密过程中出现的问题。
我现在的mongo 版本是 4.2.0,而4.0.10 是好的。