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