Mongodb не может подключиться к localhost, но может подключаться к локальному IP-адресу

Если я попытаюсь запустить оболочку mongodb с помощью команды mongo, я получаю:

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

исключение: сбой подключения

Однако, если я оговариваю локальный IP-адрес локального хоста следующим образом:

mongo 10.10.5.90

... он прекрасно соединяется.

Любые подсказки

Ответы

Ответ 1

У вас есть bind_ip, установленный в вашем файле mongodb.conf(или при запуске script)? edit для ясности A bind_ip устанавливает ограничения на IP-адрес, который будет прослушивать только на этом IP-адресе.

Смотрите раздел привязки IP-адреса: http://www.mongodb.org/display/DOCS/Security+and+Authentication

Если нет, у вас есть какие-либо правила брандмауэра, блокирующие доступ к локальному хосту? Это было бы странно, но я не могу придумать другую причину, почему она не будет работать, пока будет работать LAN IP.

Ответ 2

Эта ошибка также может появиться, если mongodb не был правильно выключен. Если вы наберете sudo start mongodb и если при каждом выполнении он выдаст новый идентификатор процесса, ваш mongodb не будет корректно завершен. Чтобы разрешить этот тип

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

Ответ 3

Просто выполните все эти шаги, чтобы решить эту проблему.

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