[linux] MongoDB에 대한 연결이 거부되었습니다. errno 111

외부 소스에서 연결할 수없는 Ubuntu 12.04 LTS 및 MongoDB 인스턴스 (서비스가 실행 중이며 로컬로 연결할 수 있음)를 실행하는 Linode 서버가 있습니다.

이 두 가지 규칙을 내 IP 테이블에 추가했습니다. 여기서 <ip address>는 연결하려는 서버입니다 (이 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에서 <ip address>와의 연결을 허용하는 규칙을 볼 수 있지만 다음과 같은 명령을 사용하여 <ip address>에서 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

어떤 도움이라도 대단히 감사합니다 !!!! 감사!!!



답변

모두를 도와 주셔서 감사합니다!

그것이 iptable 충돌이라는 것이 밝혀졌습니다. 열린 포트를 나열하는 두 가지 규칙 (포트가 닫힌 결과).

그러나 일명 의견 중 하나와 manu2013의 의견 중 하나는 갈등이 아니었다면 내가 직면했을 문제였습니다.

그래서! 항상 /etc/mongod.conf파일 을 편집하고 bind_ip = 0.0.0.0외부 연결을 위해 설정 하는 것을 잊지 마십시오 .

또한 mongo가 원하는 포트에 대해 iptable에 충돌하는 규칙이 없는지 확인하십시오 ( iptables를 올바르게 설정하려면 mongodb 사이트의 링크 참조 ).


답변

다음을 시도하십시오.

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

프록시 뒤에있는 경우 다음을 사용하십시오.-
export http_proxy = “http : // username : password@company.com : port /”
export 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


답변

나는 /data/db디렉토리 가 없었다 . 나는 하나를 만들고 chmod 777권한을 부여했고 그것은 나를 위해 일했습니다.


답변

또 다른 옵션은 데이터베이스를 이렇게 복구하는 것입니다 (참고 : db0 디렉토리가 먼저 미리 생성되어야합니다).

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

이것은 또한 프로덕션 환경에서 허용되는 옵션입니다 …


답변

나는 또한 같은 문제가 있었다 .dbpath에 디렉토리를 만드십시오. 내 경우에는 / data / db에 디렉토리가 없었습니다. 그래서 하나를 만들었습니다. 이제 작동합니다. 그 디렉토리에 대한 권한을 부여하십시오.