Соединение отказано в MongoDB errno 111

у меня есть сервер Linode под управлением Ubuntu 12.04 LTS и экземпляр MongoDB (служба запущена и может подключаться локально), к которому я не могу подключиться из внешнего источника.

Я добавил Эти два правила в свои таблицы IP, где - это сервер, с которого я хочу подключиться (как описано в этом ссылка MongoDB):

iptables -A INPUT -s < ip-address > -p tcp --destination-port 27017 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -d < ip-address > -p tcp --source-port 27017 -m state --state ESTABLISHED -j ACCEPT

и я вижу правило в моей таблице IP, позволяющее подключаться к 27017 и от однако, когда я пытаюсь подключиться, к моей базе данных mongo с помощью такой команды:

mongo databasedomain/databasename -u username -p password

Я получаю эту ошибку:

2014-07-22T23:54:03.093+0000 warning: Failed to connect to databaseserverip:27017, reason: errno:111 Connection refused 2014-07-22T23:54:03.094+0000 Error: couldn't connect to server < ip address >:27017 (databaseserverip), connection attempt failed at src/mongo/shell/mongo.js:148 exception: connect failed

любая помощь очень ценится!!!! Спасибо!!!

8 ответов


Спасибо за помощь всем!

оказывается, это был конфликт iptable. Два правила перечисления открытого порта (что привело к закрытому порту).

однако один из комментариев aka и другой manu2013 были проблемами, с которыми я столкнулся бы, если бы не конфликт.

Так! Всегда помните редактировать /etc/mongod.conf файл и установите bind_ip = 0.0.0.0 для подключения извне.

кроме того, убедитесь, что у вас нет противоречивые правила iptable порт монго хочет (см. ссылка на сайте mongodb чтобы правильно настроить iptables).


попробуйте следующее:

sudo rm /var/lib/mongodb/mongod.lock
sudo service mongodb restart

эти команды исправили проблему для меня,

sudo rm /var/lib/mongodb/mongod.lock
sudo mongod --repair
sudo service mongod start
sudo service mongod status

Если вы находитесь за прокси, используйте:-
экспорт http_proxy="http://username:password@company.com:port/"
экспорт https_proxy="http://username:password@company.com:port/"

ссылка:https://stackoverflow.com/a/24410282/4359237


для Ubuntu Server 15.04 и 16.04 вам нужно выполнить только эту команду

sudo apt-get install --reinstall mongodb

у меня не было . Я создал один и дал chmod 777 разрешение, и это сработало для меня


еще один вариант-просто восстановить вашу базу данных так (Примечание: каталог db0 должен быть предварительно создан первым):

mongod --dbpath /var/lib/mongodb/ --repairpath /var/lib/mongodb/db0

Это также приемлемый вариант в производственных средах...


У меня также была та же проблема.Создайте каталог в dbpath.В моем случае не было каталога в /data / db .Поэтому я его создал.Теперь работает.Не забудьте дать разрешение на этот каталог.


в моем случае предыдущая версия была 3.2. Я обновился до 3.6, но файлы данных не были совместимы с новой версией, поэтому я удалил все файлы данных, поскольку он не был полезен для меня и его работ.

вы можете проверить логи, используя /var/log/mongodb