Programing

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

lottogame 2020. 11. 3. 07:34
반응형

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에 디렉토리가 없었습니다. 그래서 하나를 만들었습니다. 이제 작동합니다. 그 디렉토리에 대한 권한을 부여하십시오.


제 경우에는 이전 버전이 3.2였습니다. 3.6으로 업그레이드했지만 데이터 파일이 새 버전과 호환되지 않아 저와 작업에 사용할 수 없었기 때문에 모든 데이터 파일을 제거했습니다.

다음을 사용하여 로그를 확인할 수 있습니다. /var/log/mongodb


이 튜토리얼의 설치 지침을 따릅니다.

Ubuntu 16.04에 MongoDB를 설치하는 방법

저도 같은 실수를했습니다. 마지막으로 포트 번호를 설정해야한다는 것을 알았습니다.

mongo 명령의 기본 포트 번호는 27017입니다.

그러나 mongo.conf의 기본 포트 번호는 29999입니다.

참고 URL : https://stackoverflow.com/questions/24899849/connection-refused-to-mongodb-errno-111

반응형