在linux上成功安装好mongodb数据库后,发现无法通过服务器IP地址进行远程链接mongodb数据库,本人使用的centos7,也就是外网无法连接mongodb的。下面就是本人找解决方法的步骤和简单笔记记录,都是慢慢摸索和搜资料,边看边实践的。
使用MongoVUE和Robo 3T连接时发现报错如下:
Unable to connect to server xx.xx.xx.xx:27017: 未将对象引用设置到对象的实例,如下详细代码和图片所示
Unable to connect to server xx.xx.xx.xx:27017: 未将对象引用设置到对象的实例。. Type: MongoDB.Driver.MongoConnectionException Stack: 在 MongoDB.Driver.Internal.DirectMongoServerProxy.Connect(TimeSpan timeout, ReadPreference readPreference) 在 MongoDB.Driver.MongoServer.Connect(TimeSpan timeout) 在 MongoDB.Driver.MongoServer.Connect() 在 MangoUI.MMongo.QSDlL5xzK686iCExThO(Object ) 在 MangoUI.MMongo.Open(Boolean mustWrite) 在 MangoUI.MMongo.Open()
期初,并不知道是什么原因,查看进程,27017都是在使用中的,mongodb服务也都正常启动了。
网上搜索一些资料,说的大概是默认访问绑定127.0.0.1地址的问题和安全组端口策略等等问题、服务器使用的是专用网络,因为对这个不在行,好吧,那就先建把,如图所示
后来发现还是不行,用netstat -anpt|grep 27017查看了一下进程显示的还是127.0.0.1:27017 ,说明mongodb还是对本地开放,仔细一看发现mongodb启动配置文件没配置绑定ip,因为默认绑定的127.0.0.1。在mongo.conf配置里加了一条bind_ip=0.0.0.0,表示外网可以访问本地的MongoDB。如
dbpath=/usr/local/bin/mongodb/data logpath=/usr/local/bin/mongodb/logs/mongo.log logappend=true journal=true quiet=false port=27017 fork=true bind_ip=0.0.0.0
如图所示:重启,查看,链接数据库终于可以了。
用外网IP链接一下也可以了。mongo xxx.xx.xx.xx:271017,如图所以:
最后用Robo 3T远程链接一下也终于可以链接上了。如图
相关文章:
如何解决Robo 3T连接MongoDB时出现 Error: Failed to execute “listdatabases” command错误的问题?