Соединение отказано в 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 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/"
для Ubuntu Server 15.04 и 16.04 вам нужно выполнить только эту команду
sudo apt-get install --reinstall mongodb
еще один вариант-просто восстановить вашу базу данных так (Примечание: каталог db0 должен быть предварительно создан первым):
mongod --dbpath /var/lib/mongodb/ --repairpath /var/lib/mongodb/db0
Это также приемлемый вариант в производственных средах...
У меня также была та же проблема.Создайте каталог в dbpath.В моем случае не было каталога в /data / db .Поэтому я его создал.Теперь работает.Не забудьте дать разрешение на этот каталог.
в моем случае предыдущая версия была 3.2. Я обновился до 3.6, но файлы данных не были совместимы с новой версией, поэтому я удалил все файлы данных, поскольку он не был полезен для меня и его работ.
вы можете проверить логи, используя /var/log/mongodb