的MongoDB无法连接到本地主机,但可以连接到本地主机的IP地址

问题描述:

如果我尝试与mongo命令单独运行MongoDB的壳,我得到:的MongoDB无法连接到本地主机,但可以连接到本地主机的IP地址

Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84 

例外:连接失败

然而,如果我规定localhost的局域网IP地址是这样的:

mongo 10.10.5.90 

......它连接好。

任何线索?

+0

你可以平127.0.0.1? – 2012-01-18 04:27:49

+1

是的,我可以平127和本地主机 – MFB 2012-01-18 04:33:06

你在你的mongodb.conf(或启动脚本)中设置了bind_ip吗? 为了清晰起见编辑 A bind_ip设置限制了它只会侦听该IP的IP。

查看IP地址绑定部分:http://www.mongodb.org/display/DOCS/Security+and+Authentication

如果没有,你有什么防火墙规则阻止本地主机访问?这可能有点奇怪,但我想不出为什么在局域网IP工作时无法工作的另一个原因。

+0

这是我的mongodb.conf:bind_ip = 10.10.5.90 端口= 27017 DBPATH = /数据/ DB 的logpath = /var/log/mongodb/mongodb.log logappend =真 VVVV = true journal = true rest = true – MFB 2012-01-18 04:31:43

+0

如果您希望能够从本地主机连接,则取出bind_ip设置。请参阅我链接的文档。 – 2012-01-18 04:35:51

+0

韦斯,谢谢。删除bind_ip设置可解决问题。 – MFB 2012-01-18 04:50:03

如果mongodb未正确关闭,也会出现此错误。如果你输入sudo start mongodb,并且它在每次执行时都给出一个新的进程ID,那么你的mongodb没有正确关闭。要解决此类型

 
sudo rm /var/lib/mongodb/mongod.lock 
sudo -u mongodb mongod -f /etc/mongodb.conf --repair 
sudo start mongodb

只要按照这些步骤来解决这个问题

Step 1: Remove lock file. 
sudo rm /var/lib/mongodb/mongod.lock 

Step 2: Repair mongodb. 
mongod --repair 

Step 3: start mongodb. 
sudo start mongodb 
or 
sudo service mongodb start 

Step 4: Check status of mongodb. 
sudo status mongodb 
or 
sudo service mongodb status 

Step 5: Start mongo console. 
mongo 
+0

ubuntu中mongodb的服务名称是mongod not mongodb – GeekAb 2016-09-07 08:12:57