我已经按照本指南进行操作,使我的MongoDB服务器面向外部:
https://ianlondon.github.io/blog/mongodb-auth/
但是当我尝试使用mongo -u myusername -p mypassword myip/mycollection
连接到它时
(myip是我的Azure虚拟机的公共IP。是的,我已经添加了入站规则)
我得到:
错误:尝试在主机“ myip:27017”上运行命令“ isMaster”时出现网络错误:connect@src/mongo/shell/mongo.js:251:13
详细信息: 服务器:Azure vm,Ubuntu 18.04,Mongo 3.6.7 客户端:vmware vm,Ubuntu 18.04,Mongo 3.6.7
我没有启用ssh(我知道吗?),如其他帖子所建议的那样。
有什么想法吗?
答案 0 :(得分:1)
解决了。我想伊恩的指南已经过时了。我必须将bindIp配置项设置为0.0.0.0,而不是将其注释掉。
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0
答案 1 :(得分:0)
您可以在mongo shell命令中再添加一个参数,即
--authenticationDatabase *databaseName*
这是您创建用户所依据的数据库名称。根据您提供的链接(该链接使您开始运行安装程序),要使用的值为 cool_db 。
基本上,当mongo无法联系服务器时,会发生此错误。 请参阅https://docs.mongodb.com/tutorials/connect-to-mongodb-shell/文档。
如果您是MongoDB的新手,我强烈建议您加入基本的MongoDB课程,该课程大约需要1周的时间来使您开始运行。 [https://university.mongodb.com]
希望对您有帮助。
谢谢卡妮卡