Mongodb无法连接到localhost,但可以连接到localhost的IP地址

时间:2012-01-18 04:00:01

标签: mongodb localhost

如果我尝试单独使用mongo命令运行mongodb shell,我会得到:

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

异常:连接失败

但是,如果我像这样规定localhost的LAN IP地址:

mongo 10.10.5.90

......它连接得很好。

任何线索??

5 个答案:

答案 0 :(得分:19)

您的mongodb.conf(或启动脚本)中是否设置了bind_ip为清晰起见进行编辑 bind_ip设置会限制仅侦听该IP的IP。

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

如果没有,您是否有阻止localhost访问的防火墙规则?这有点奇怪,但我想不出另一个原因,为什么它在局域网IP工作时不起作用。

答案 1 :(得分:10)

如果未正确关闭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

答案 2 :(得分:8)

只需按照所有这些步骤解决此问题

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

答案 3 :(得分:0)

我在启动mongo时添加了localhost和bind_ip中的ip,它解决了我的问题,例如: bin / mongod --dbpath data --logpath mongo.log --fork --bind_ip localhost,10.100.1.2

答案 4 :(得分:0)

按照以下步骤编辑mongod.conf

bindIp:0.0.0.0,本地主机

对我有用。