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


91

최근에 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

1
mongod 서비스가 실행 중인지 확실합니까? conf 파일에 어떤 구성 옵션이 있습니까?
ffflabs

sudo apt-get을 사용하여 설치 했습니까? 이 문제를 겪는 사람들에 대해 읽었습니다 ... 대신 MongoDB 사이트를 통해 제거하고 다운로드 하십시오.
Hassan

homebrew와 함께 설치했는데 공식 웹 사이트의 지침에 .config 파일을 설정해야한다고 명시되어 있지 않습니다. 나는 단순히 그것을 다운로드하고 위의 오류가 발생한 'mongoose'명령을 실행했습니다.
Michael

/var/logs/mongodb내가 올바르게 기억 하는 경우 일반적으로 로그를 확인하십시오 .
AlbertEngelB 2014 년

다운로드를 통해 다시 설치하고 파일의 압축을 풉니 다. 'mongo'를 실행 중이며 여전히 동일한 오류가 발생합니다.
Michael

답변:


277

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

brew services start mongodb

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

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

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


8
나는이 명령을 사용하여 오류를 얻고있다 : "알 수없는 명령 서비스를"
ZeMoon

7
'brew services'는 더 이상 지원되지 않습니다 : github.com/Homebrew/homebrew/issues/32006
Vitaly

7
나는 mongo 대신 sudo mongod 를 시도 했고 시작되었습니다! mongo 셸에 액세스하기 위해 새 셸 창을 열고 mongo를 작성하면 작동했습니다! 당신은 솔루션 전체 오류 추적을 찾을 수있는 이 블로그에
알리 라자 Bhayani

1
양조 서비스는 내 Mac OS X Yosemite에서 더 이상 지원되지 않습니다. sudo mongodmongodb를 시작한 다음 mongo 명령이 작동했습니다. @Ali Raza Bhayani에게 감사드립니다.
psun

2
이 솔루션에 감사드립니다 !! brew service 명령은 Mac OS X Sierra에서 저에게 효과적이었습니다.
Jcc.Sanabria

32

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

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

brew update
brew install mongodb

2 단계 -Mongo Daemon 실행 :

mkdir -p /data/db
sudo mongod

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

mongo

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


1
이것은 또한 MongoDB를 공식 페이지 참조 : docs.mongodb.org/v2.2/tutorial/install-mongodb-on-os-x/...
파울로 올리베이라를

이 번 나를 위해 일한 ...하지만 그때는 넘어 : /이 트릭 할 것으로 보인다 stackoverflow.com/a/22623543/1177832
danwild

이것은 전투에서 이기고 전쟁에서지는 좋은 방법입니다. 서비스를 루트로 실행하지 마십시오.
Miles Erickson

22

문제를 해결하려면 "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 문서에 포함시켜야한다고 생각한다.


마지막 명령을 사용하고 브라우저에서 localhost / 27017을 방문했는데 화면에 '기본 드라이버 포트에서 HTTP를 통해 MongoDB에 액세스하려는 것 같습니다.' 정확하지 않은 것 같습니다 ...
Michael

Mongo가 지금 실행되고 있습니까? 셸에서 mongo 를 입력 하면 더 이상 연결 거부 메시지가 표시되지 않습니까? 브라우저에서 mongo에 액세스하지 않고 cli에서 작업하고 싶을 것입니다.
jh3y

아니요, 'mongod --config /usr/local/etc/mongod.conf'를 입력하면 쉘의 명령이 실행되지 않습니다. 간단한 빈 프롬프트입니다. homebrew를 사용하지 않고 다시 설치하고 웹 사이트에서 zip을 다운로드하고 실행 파일을 / usr / local / bin으로 옮겼지만 지금은 여전히 ​​동일한 오류 메시지가 나타납니다.
Michael

네, 마지막 명령도 저에게 걸려 있습니다. 난 그냥 처음 두 개만 실행하고 당신은 잘해야합니다. 그것이 멈 추면, 그 후에 치고 ctrl + c시도하십시오 mongo.
jh3y

흠 ... 아직 작동하지 않습니다. mongoDB 포럼에 게시하겠습니다. 도움을위한 Thx.
Michael

16

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

몽고

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


이것은 나를 위해 해냈습니다. mongo를 실행하기 전에 서비스 mongod를 시작하는 것을 완전히 간과했습니다. 감사!
Matt Welander 2014

7

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

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


서비스를 루트로 실행하지 마십시오.
Miles Erickson

4

동일한 오류가 발생했지만 근본 원인이 다릅니다. 다른 사람이 문제에 부딪 힐 경우를 대비하여 여기에 해결책을 게시 할 것이라고 생각했습니다. 실행 중에 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파일과 나머지 데이터 파일을 제거 했으며 다음에 서비스를 시작할 때 잘했습니다. .


1
내 유일한 후회는 하나의 찬성 투표 만 가지고 있다는 것입니다. 다른 모든 답변은 기본 brew 구성이 dbs를 / usr / local / var / mongodb에 넣었다는 사실을 무시합니다!
premiumFrye

1
Annnddd Mongo가 다시 중단되었으므로 이제이 프로세스를 다시 수행해야했습니다. 내가 다시 찾을 수 있도록 좋은 것은 내가 대답을 upvoted : D
premiumFrye

3

나를 위해 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


1

homebrew를 사용하여 mongo 3.6으로 업그레이드 한 후이 오류가 발생했습니다.

로그 /usr/local/var/log/mongodb/mongo.log에 메시지가 포함되어 shutting down with code:62있습니다. 이 오류 코드는 기존 데이터베이스가 너무 오래되어 현재 버전의 mongo로 실행할 수 없음을 의미합니다.

다른 질문 에서 두 가지 해결책을 찾았습니다 .

업그레이드하기로 결정했습니다. 제 경우에는 3.4로 다운 그레이드하고 mongo 콘솔에서 명령을 실행 한 다음 다시 업그레이드해야했습니다. Mongo에서는 한 번에 하나의 주요 버전을 업그레이드해야하므로 이전에 얼마나 오래되었는지에 따라 추가 단계가있을 수 있습니다. 문서가 안내합니다.

brew switch*brew services restart명령은 상대적으로 고통 버전간에 교환했다.


0

이미 MongoDB를 설치 한 경우 먼저 mongod를 sudo 사용자로 실행하려고 시도하면 mongod를 수퍼 유저로 실행하지 않기 때문에 문제가 발생했습니다.

맨 아래 에 두 명령 ( mongodsudo mongod )에 대한 o / p를 붙여 넣었습니다 . 당신도 확인할 수 있지만

먼저 이것을 시도

sudo mongod

이거 말고

mongod

다음 명령을 순서대로 실행하여 MAC OS X Sierra 10.12.6에 MongoDB를 설치했습니다.

brew update
brew install mongodb --devel
brew services start mongodb

그런 다음 mongod 프로세스가 데이터를 기록 할 디렉토리를 생성했습니다. 이는 기본적으로 mongod 프로세스가 가져 오므로 선택 사항입니다. https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os 에서 유용한 가이드를 참조하십시오. -엑스/

sudo mkdir -p /data/db

마지막 으로 다음과 같이 mongod 프로세스를 시작했습니다.

sudo mongod

의 Oputput mongod (실패)와 sudo는 mongod 내 터미널에서 명령을 (성공).

MacBook-Pro-2:appscheck admin$ mongod
2017-12-10T08:12:06.166+0530 I CONTROL  [initandlisten] MongoDB starting : pid=2698 port=27017 dbpath=/data/db 64-bit host=MacBook-Pro-2.local
2017-12-10T08:12:06.166+0530 I CONTROL  [initandlisten] db version v3.4.10
2017-12-10T08:12:06.166+0530 I CONTROL  [initandlisten] git version: 078f28920cb24de0dd479b5ea6c66c644f6326e9
2017-12-10T08:12:06.166+0530 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.2n  7 Dec 2017
2017-12-10T08:12:06.166+0530 I CONTROL  [initandlisten] allocator: system
2017-12-10T08:12:06.166+0530 I CONTROL  [initandlisten] modules: none
2017-12-10T08:12:06.166+0530 I CONTROL  [initandlisten] build environment:
2017-12-10T08:12:06.166+0530 I CONTROL  [initandlisten]     distarch: x86_64
2017-12-10T08:12:06.166+0530 I CONTROL  [initandlisten]     target_arch: x86_64
2017-12-10T08:12:06.166+0530 I CONTROL  [initandlisten] options: {}
2017-12-10T08:12:06.166+0530 I STORAGE  [initandlisten] exception in initAndListen: 20 Attempted to create a lock file on a read-only directory: /data/db, terminating
2017-12-10T08:12:06.166+0530 I NETWORK  [initandlisten] shutdown: going to close listening sockets...
2017-12-10T08:12:06.166+0530 I NETWORK  [initandlisten] shutdown: going to flush diaglog...
2017-12-10T08:12:06.167+0530 I CONTROL  [initandlisten] now exiting
2017-12-10T08:12:06.167+0530 I CONTROL  [initandlisten] shutting down with code:100


MacBook-Pro-2:appscheck admin$ sudo mongod
Password:
2017-12-10T08:12:14.084+0530 I CONTROL  [initandlisten] MongoDB starting : pid=2700 port=27017 dbpath=/data/db 64-bit host=MacBook-Pro-2.local
2017-12-10T08:12:14.084+0530 I CONTROL  [initandlisten] db version v3.4.10
2017-12-10T08:12:14.084+0530 I CONTROL  [initandlisten] git version: 078f28920cb24de0dd479b5ea6c66c644f6326e9
2017-12-10T08:12:14.084+0530 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.2n  7 Dec 2017
2017-12-10T08:12:14.084+0530 I CONTROL  [initandlisten] allocator: system
2017-12-10T08:12:14.084+0530 I CONTROL  [initandlisten] modules: none
2017-12-10T08:12:14.084+0530 I CONTROL  [initandlisten] build environment:
2017-12-10T08:12:14.084+0530 I CONTROL  [initandlisten]     distarch: x86_64
2017-12-10T08:12:14.084+0530 I CONTROL  [initandlisten]     target_arch: x86_64
2017-12-10T08:12:14.084+0530 I CONTROL  [initandlisten] options: {}
2017-12-10T08:12:14.084+0530 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=7680M,session_max=20000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
2017-12-10T08:12:14.472+0530 I CONTROL  [initandlisten] 
2017-12-10T08:12:14.472+0530 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-12-10T08:12:14.472+0530 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2017-12-10T08:12:14.472+0530 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2017-12-10T08:12:14.472+0530 I CONTROL  [initandlisten] 
2017-12-10T08:12:14.472+0530 I CONTROL  [initandlisten] 
2017-12-10T08:12:14.472+0530 I CONTROL  [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
2017-12-10T08:12:14.560+0530 I FTDC     [initandlisten] Initializing full-time diagnostic data capture with directory '/data/db/diagnostic.data'
2017-12-10T08:12:14.707+0530 I INDEX    [initandlisten] build index on: admin.system.version properties: { v: 2, key: { version: 1 }, name: "incompatible_with_version_32", ns: "admin.system.version" }
2017-12-10T08:12:14.707+0530 I INDEX    [initandlisten]      building index using bulk method; build may temporarily use up to 500 megabytes of RAM
2017-12-10T08:12:14.719+0530 I INDEX    [initandlisten] build index done.  scanned 0 total records. 0 secs
2017-12-10T08:12:14.720+0530 I COMMAND  [initandlisten] setting featureCompatibilityVersion to 3.4
2017-12-10T08:12:14.720+0530 I NETWORK  [thread1] waiting for connections on port 27017

그런 다음 MongoDB 쿼리를 시작하기 위해 새 터미널을 열었습니다 .

MacBook-Pro-2:appscheck admin$ mongo
MongoDB shell version v3.4.10
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.10
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
    http://docs.mongodb.org/
Questions? Try the support group
    http://groups.google.com/group/mongodb-user
Server has startup warnings: 
2017-12-10T08:12:14.472+0530 I CONTROL  [initandlisten] 
2017-12-10T08:12:14.472+0530 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-12-10T08:12:14.472+0530 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2017-12-10T08:12:14.472+0530 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2017-12-10T08:12:14.472+0530 I CONTROL  [initandlisten] 
2017-12-10T08:12:14.472+0530 I CONTROL  [initandlisten] 
2017-12-10T08:12:14.472+0530 I CONTROL  [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
> show dbs;
admin  0.000GB
local  0.000GB
> use practice
switched to db practice
>

그게 다야.


0

나는 같은 문제가 있었고 로그 파일을 보면 이것을 보았다.

{2019-03-09T11:57:32.136-0500 I STORAGE  [initandlisten] 
exception in initAndListen: NonExistentPath: 
Data directory /usr/local/var/mongodb not found., terminating}

그래서 /usr/local/var/mongodb brew services restart mongodb 명령을 실행하여 mongo 콘솔을 열 수 있는 디렉토리를 만들었습니다 .


-1

내 생각 엔 "mongo"명령을 통해 테스트에 액세스하는 동안 데이터베이스를 실행하고 있지 않다는 것입니다.

먼저 터미널에서 다음 명령을 실행하십시오.

mongod 

그런 다음 다른 터미널 창을 열고 다음을 실행합니다.

몽고

이제 모든 것이 작동합니다.


-1

mongod를 실행하는 동안 "sudo rm /data/db/mongod.lock"파일을 삭제하면 유사한 오류가 해결됩니다. 이제 mongod를 실행 한 다음 mongo를 실행할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.