외부 소스에서 연결할 수없는 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 /”
답변
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에 디렉토리가 없었습니다. 그래서 하나를 만들었습니다. 이제 작동합니다. 그 디렉토리에 대한 권한을 부여하십시오.