[macos] mongodb에 연결할 수 없습니다. errno : 61 연결이 거부되었습니다.

최근에 Homebrew 와 함께 mongodb-2.6.0을 설치했습니다 . 성공적으로 설치 한 후 mongo명령 을 사용하여 연결을 시도했습니다 . 연결할 수없는 다음 오류가 표시됩니다.

Failed to connect to 127.0.0.1:27017, reason: errno:61 Connection refused

Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/shell/mongo.js:146

exception: connect failed



답변

mongodb 서비스가 Mac에서 실행되고 있지 않을 때 발생할 수 있습니다. 그것을 시작하기 위해 노력했습니다.

brew services start mongodb

그리고 그것은 작동했습니다.

편집 : homebrew에 대한이 PR에 대한 토론에 따르면 : https://github.com/Homebrew/homebrew/issues/30628

brew services더 이상 사용되지 않습니다, 나는 SO를 둘러 보았고 이제 다음 질문에 대한 답을 찾았 습니다 .Linux / OS X에서 mongod 서비스를 시작하는 올바른 방법은 무엇입니까?


답변

나는 똑같은 문제가 발생했으며 여기 에이 오류를 피하기 위해 명확한 단계별 프로세스가 있습니다.

1 단계 -설치 (MongoDB를 이미 설치 한 경우이 단계를 따르지 마십시오) :

brew update
brew install mongodb

2 단계 -Mongo Daemon 실행 :

mkdir -p /data/db
sudo mongod

3 단계 -Mongo Shell 인터페이스 실행 :

mongo

이 순서로 mongo오류없이 명령 을 실행할 수있었습니다 . 또한 이 블로그 에서 오류 추적과 그 해결책 에 대해 자세히 설명했습니다 .


답변

문제를 해결하려면 “brew install mongodb”를 사용한 후 brew가 제공하는 지침을 따라야합니다.

로그인시 mongodb를 시작하려면 :

ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents

그런 다음 지금 mongodb를로드하려면 :

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist

또는 launchctl을 원하지 않거나 필요하지 않은 경우 다음을 실행할 수 있습니다.

mongod --config /usr/local/etc/mongod.conf

마지막 명령을 실행할 수는 있지만 저에게는 작동하지 않았고 두 번째 명령을 실행해야했습니다. 미래에 나를 구하기 위해. 나도 첫 번째 명령을 실행했습니다. 도움이 되었기를 바랍니다.

Hrishi의 사용 방법을 편집brew services mongodb start 하십시오. 나는 그들이 이것을 mongo 문서에 포함시켜야한다고 생각한다.


답변

다른 탭에서 다음을 사용하여 mongo 셸을 시작할 수 있습니다.

몽고

그런 다음 이전 탭으로 돌아가 다시 시도하십시오. mongoshell을 설정하는 데 문제가있는 경우 mongo 쉘에서 다음 링크를 확인하십시오. http://docs.mongodb.org/manual/tutorial/manage-mongodb-processes/
또는 mongodb 설치에 대한 링크 :
http : / /docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/


답변

mongod명령 줄에서 전화 할 때 동일한 문제가 발생했습니다 .

대신 호출하여이 문제를 해결했습니다 sudo mongod.


답변

동일한 오류가 발생했지만 근본 원인이 다릅니다. 다른 사람이 문제에 부딪 힐 경우를 대비하여 여기에 해결책을 게시 할 것이라고 생각했습니다. 실행 중에 Mac이 부적절하게 종료 된 후이 오류가 발생했습니다 mongorestore -d foo dump/foo/.

TL; DR : 나는 손상된 제거하여 문제를 해결 foo.ns와 함께 파일을 foo.0, foo.1… 내 데이터 폴더에서 /usr/local/var/mongodb/. 그런 다음 mongo 서버를 다시 시작하고 brew services restart mongodb정상으로 돌아 왔습니다.

세부 정보 : brew 또는 launchctl을 통해 mongodb 서비스를 시작하거나 다시 시작하려고해도 계속 오류가 발생했습니다. 결국 나는 실행

mongod --dbpath /usr/local/var/mongodb

하고 서비스가 실제로 시작되지 않는 것을 보았고 시작 시퀀스에는 다음 오류가 포함되었습니다

[initandlisten] bad .ns file: /usr/local/var/mongodb/foo.ns
[initandlisten] User Assertion: 10079:bad .ns file length, cannot open database

. 불량 .ns파일과 나머지 데이터 파일을 제거 했으며 다음에 서비스를 시작할 때 잘했습니다. .


답변

나를 위해 osx에서 실행중인 이전 인스턴스를 종료 한 다음 다시 시작해야했습니다.

$>ps -aef | grep mongo
502  8047     1   0 11:52AM ??         0:00.23 /usr/local/opt/mongodb/bin/mongod --config /usr/local/etc/mongod.conf

$>sudo kill 8047

$>sudo mongod