如果我尝试单独使用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
......它连接得很好。
任何线索??
答案 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,本地主机
对我有用。