MongoDB Shell版本v3.6.5 连接到:mongodb://127.0.0.1:27017 2018-06-26T17:37.13 + 0530 I NETWORK [thread1]套接字recv()建立的连接已被主机中的软件中止。 127.0.0.1:27017 2018-06-26T17:37:13.313 + 0530 I NETWORK [thread1] SocketException:远程:(NONE):0错误:SocketException套接字异常[RECV_ERROR]服务器[127.0.0.1:27017] 2018-06-26T17:37:13.313 + 0530 E查询[thread1]错误:尝试在主机'127.0.0.1:27017'上运行命令'isMaster'时出现网络错误: connect@src/mongo/shell/mongo.js:251:13 @(连接):1:6 例外:连接失败
答案 0 :(得分:3)
此错误通常是由于尝试在没有 SSL 的情况下连接到需要 SSL 的 MongoDB 服务器所致。使用以下命令连接:
mongo --ssl --username "$USERNAME" --password "$PASSWORD" --host "$HOST" --port "$PORT"
答案 1 :(得分:0)
请参阅Mongod日志以找到根本原因。对我来说,它正在泄漏来自其中一个客户端的连接,这是我在日志中发现的:
NETWORK [listener] connection refused because too many open connections:
答案 2 :(得分:0)
尝试连接到需要SSL的数据库时,可能会发生此问题。
答案 3 :(得分:0)
[请参见下面的图片,将链接复制到url上]
答案 4 :(得分:0)
就我而言,我正在其他端口上运行多个应用程序。上述解决方案对我来说效果不佳。
最后,我关闭了代码编辑器和web-app的所有选项卡,然后重新启动。现在可以正常使用了。
好吧!您只需重新启动系统,即可轻松解决问题。
答案 5 :(得分:0)
如前所述,这可能是因为服务器在连接中需要 TLS。您将在服务器日志中看到原因。
对于不知道如何修复它的人(像我一样),值得注意的是如何连接到这些服务器:
在命令行中,您可以使用 --tls 选项 (https://docs.mongodb.com/manual/tutorial/configure-ssl-clients/)
mongo --tls [other params and/or connection string]
如果单独使用连接字符串,可以添加tls=true
参数:
mongo://[user]:[pass]@[host]/[db]?tls=true[&others]