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

MFB*_*MFB 13 localhost mongodb

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

Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84
Run Code Online (Sandbox Code Playgroud)

异常:连接失败

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

mongo 10.10.5.90
Run Code Online (Sandbox Code Playgroud)

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

任何线索?

Eve*_*man 19

bind_ip你的mongodb.conf(或启动脚本)中有一个集合吗?编辑为清楚起见,一个bind_ip设置限制IP会监听到只有IP.

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

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


ben*_*mer 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
Run Code Online (Sandbox Code Playgroud)


sai*_*uri 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
Run Code Online (Sandbox Code Playgroud)