mongo-서버 127.0.0.1:27017에 연결할 수 없습니다.


172

이 서비스를 시작하거나 상호 작용하는 데 문제가 없었던 riak 및 redis에서 왔습니다.

이것은 몽고의 만연한 문제이며 다소 단서가 없습니다. 다시 시작해도 도움이되지 않습니다.

mongo
MongoDB shell version: 2.2.1
connecting to: test
Fri Nov  9 16:44:06 Error: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js:91
exception: connect failed

이것이 내가 로그에서 보는 것입니다.

 now open)
Fri Nov  9 16:44:34 [conn47] end connection 10.29.16.208:5306 (1 connection now open)
Fri Nov  9 16:45:04 [initandlisten] connection accepted from 10.29.16.208:5307 #48 (2 connections now open)
Fri Nov  9 16:45:04 [conn48] end connection 10.29.16.208:5307 (1 connection now open)
Fri Nov  9 16:45:04 [initandlisten] connection accepted from 10.29.16.208:5308 #49 (2 connections now open)
Fri Nov  9 16:45:04 [conn49] end connection 10.29.16.208:5308 (1 connection now open)
Fri Nov  9 16:45:34 [initandlisten] connection accepted from 10.29.16.208:5316 #50 (2 connections now open)
Fri Nov  9 16:45:34 [conn50] end connection 10.29.16.208:5316 (1 connection now open)
Fri Nov  9 16:45:34 [initandlisten] connection accepted from 10.29.16.208:5317 #51 (2 connections now open)
Fri Nov  9 16:45:34 [conn51] end connection 10.29.16.208:5317 (1 connection now open)
Fri Nov  9 16:46:04 [initandlisten] connection accepted from 10.29.16.208:5320 #52 (2 connections now open)
Fri Nov  9 16:46:04 [conn52] end connection 10.29.16.208:5320 (1 connection now open)
Fri Nov  9 16:46:04 [initandlisten] connection accepted from 10.29.16.208:5321 #53 (2 connections now open)
Fri Nov  9 16:46:04 [conn53] end connection 10.29.16.208:5321 (1 conn

2
IMO는 프로그래밍 자체와는 아무런 관련이 없으므로 serverfault.com 에서이 질문을하는 것이 좋습니다 .
cimnine 2012

2
나도 같은 문제에 직면했습니다. 나는이 혀에 따라 DB를 / / 데이터 : 그 기분이야는 C에 폴더를 생성 할 수없는 몽고 mkyong.com/mongodb/how-to-install-mongodb-on-windows
STEEL

회사 노트북을 사용하고 C :에 MongoDB를 설치할 때 동일한 오류가 발생했습니다. 관리자 권한과 C :에서 무언가를 설치하거나 수정할 때마다 관리자 사용자 이름과 암호를 묻는 메시지가 표시되기 때문에 mongodb를 작동 할 수 없었습니다. D :에 설치 한 후 모두 정상적으로 작동했습니다.
paranza 2011

답변:


50

이 오류는 mongo 쉘이 mongod 서버와 통신 할 수없는 경우 표시되는 것입니다.

주소가 잘못되었거나 (호스트 또는 IP) 실행되지 않았기 때문일 수 있습니다. 한 가지 주목할 점은 제공된 로그 추적이 .NET Framework의 "Fri Nov 9 16:44:06"을 다루지 않는다는 것 mongo timestamp입니다.

너는 할수 있니:

  1. mongod 프로세스를 시작하는 데 사용되는 명령 줄 인수 (있는 경우)를 제공합니다.
  2. mongo 쉘 시작 시도 중 로그뿐만 아니라 mongod 시작의 로그 파일 활동을 제공합니까?
  3. mongod 프로세스가 mongo 셸과 동일한 시스템에서 시작되고 있는지 확인 하시겠습니까?

293

일반적으로 이것은 mongo shell을 시작하기 전에 mongod 프로세스를 시작하지 않았기 때문에 발생합니다.

mongod 서버 시작

mongod

다른 터미널 창 열기

몽고 쉘 시작

mongo

3
이 사건은 날 위해 일했다, 내가해야 할 일을했을 ~> sudo는 mongod --dbpath / dbpathlocation하고 ... 몽고을 실행할 수있는 새로운 터미널을 열어
사지

5
macOS Sierra에서 저에게 효과가 있었던 것은 sudo mongod그 당시mongo
Amin Jafari 2011

mongod를 실행하기 전에 / data / db 디렉토리를 만들어야했습니다
대학생

내가해야 할 일은 실행 mongod하기 전에 백그라운드 나 다른 셸에서 실행하는 것뿐이라는 것을 믿을 수 없습니다 mongo. Ravi Hamsa 에게 외쳐라 !.
카림 Jeiroudi

매력처럼 나를 위해 일했다!
Sobhit Sharma 19-12-12

89

해결되었습니다.

이 문제는 아래에 언급 된 4 단계로 해결할 수 있습니다.

1) .lock 파일 제거

sudo rm /var/lib/mongodb/mongod.lock 

2) mongodb 수리

mongod -–repair

3) mongod 서버 시작

sudo service mongod start 

4) mongo 클라이언트 시작

mongo

자세한 내용은 http://shakthydoss.com/error-couldnt-connect-to-server-127-0-0-127017-srcmongoshellmongo-js-exception-connect-failed/참조하십시오.

http://shakthydoss.com/technical/error-couldnt-connect-to-server-127-0-0-127017-srcmongoshellmongo-js-exception-connect-failed/


4
/var/lib/mongodb/mongod.lock이 무엇이며 무엇이 잘못되었는지 궁금합니다.
ozn

우분투 18.04의 항목 2는mongod --repair
알린 마토스

이 답변은 심각한 업데이트가 필요하며 두 링크가 모두 작동하지 않으며 404 not Found. .lock 파일을 제거하는 첫 번째 단계는 권장 되지 않습니다 . 모든 데이터를 잃어 버렸습니다. 참조하십시오 : docs.mongodb.com/manual/tutorial/…
Afroz Chakure

내 경우에는 작동하지 않았습니다. 동일한 오류를 보여줍니다. netstat를 사용하여 확인했지만 포트 27017이 사용되지 않습니다
Aditya Gaddhyan

45

이 방법 은 원본 파일을 보존하지 않고 데이터 파일복구 하려는 경우에만 작동 합니다.

dbpath가있는 위치를 찾으려면 vim /etc/mongodb.conf

dbpath = 옵션 확인

(dbpath = / var / lib / mongodb 있습니다)

기본값 : / data / db /

일반적인 위치는 / srv / mongodb, / var / lib / mongodb 또는 / opt / mongodb입니다.

바꾸기 는 / var / lib 디렉토리 / MongoDB를을 당신과 함께 DBPATH

sudo rm /var/lib/mongodb/mongod.lock
sudo mongod --dbpath /var/lib/mongodb/ --repair
sudo mongod --dbpath /var/lib/mongodb/ --journal

(라인 위에서 실행 한 터미널을 그대로 두십시오. 'Ctrl + c'를 누르거나 종료하지 마십시오.) 명령을 입력하여 다른 창에서 지금 mongo를 시작하십시오.

이것이 당신을 위해 작동하기를 바랍니다! 원본 파일을 보존하면서 데이터 파일복구 하려는 사람들을 위해 mongo recover


1
우분투에서 작동합니다. -저널이 내 문제를 해결했습니다. 정말로 무엇을합니까? -저널이란 무엇입니까?
grep

fedora 20에서 저를 위해 일했습니다. 이제 첫 번째 터미널 창을 닫을 수 있습니까?
Khayam Gondal 2014

32

맥 OS

상태를 확인하세요

brew services list

다음과 같은 것 :

Name    Status  User Plist
mongodb stopped  

시작해

brew services start mongodb

다시 시도하십시오

mongo 또는 mongo --port 27017


2
이것은 내가 +1하는 데 도움이되었습니다.
Sandeep

나를 위해 일하지 않았다. 저는이 MongoDB를 한 시간 동안 다루기 위해 고군분투하고 있습니다. 와!!!
Glenn Posadas

또는 양조 서비스 시작 mongodb-community
Gal Margalit

16

나의 경우에는:

먼저 구성 파일을 엽니 다.

sudo vi /etc/mongodb.conf

이와 같은 IP 및 포트 설명

#bind_ip = 127.0.0.1
#port = 27017

그런 다음 mongodb를 다시 시작하십시오.

sudo service mongodb restart
sudo service mongod restart

마지막으로 작업입니다 : D

finn@Finn ~ $ mongo
MongoDB shell version: 2.4.9
connecting to: test
> exit

IP / 포트를 제거해도 효과가 없었습니다. 실제로 서버가 훨씬 더 손상되었습니다. 이 서비스는 ... 다시 시작하기를 거부
세린

1
bind_ip에주의하십시오. 주석을 달면 보안 및 인증 설정이 없으면 데이터베이스에 대한 원격 연결이 허용됩니다. 이는 분명히 끔찍한 아이디어입니다. MongoDB에는 기본적으로 사용자 또는 암호가 없으므로이를 알고 있어야합니다.
agm1984

나를 위해 일하지만 @ agm1984의 주석 이후 보안에 대해 알지 못합니다. 개발 모드에서 이것을 사용하고 Mongodb의 Atlas Cloud를 사용하면 제 경우에는 더 안전하다고 생각합니다 (불쌍한 서버의 경우 기술 : D)
Adrien V

1
@AdrienV 확실히, 인터넷에서 액세스를 허용하기 때문에 로컬 IP 바인딩을 제거하면 위험합니다. 이것은 개발 서버에 대한 해결 방법 일뿐입니다.
Finn

bind_ip가 추가 알 수없는 IP로 설정되었습니다. 그것을 삭제하면 / db / data 오류가 해결되었습니다 ... ufff
zevero

15

몽고가 실행 중인지 확인하십시오. mongodb를 복구하여이 ​​문제를 해결했는데 db 실행에 필요한 디렉터리가 생성되지 않았 음을 발견했습니다. 이 오류를 보여줍니다

유형 : mongod, 오류가 표시됩니다.

exception in initAndListen: 29 Data directory /data/db not found., terminating

dbpath /data/db/(기본 구성)가 존재하지 않기 때문에 오류가 발생했습니다 . 데이터 폴더를 생성하고 이에 대한 권한을 설정해야합니다.

그런 다음 명령으로 내 시스템에 폴더를 만듭니다.

sudo mkdir -p / data / db /sudo chown id -u/ data / db

그런 다음 몽고를 다시 실행하고 작동했습니다.


14

답변에 조금 늦었지만 같은 문제가 발생했습니다.

다음은 나를 도운 단계입니다.

  1. C : \로 이동
  2. "데이터"폴더 생성
  3. "데이터"에서 "db"폴더를 만듭니다.
  4. 터미널 열기 (CMD)-> EX로 이동 : " c:\MongoDB\Server\3.4\bin"
  5. mongod 입력 => 이것은 mongo 서버를 시작합니다 (열린 상태로 두십시오)

GUI, EX "robomongo"를 사용하여 실행

또는

새 터미널 (CMD) 열기-> EX로 이동 : " c:\MongoDB\Server\3.4\bin" "mongo"명령 입력


14

저는 Windows 사용자이고 2018 년 11 월에 MongoDB를 설치했으며 data / db 디렉토리를 설정하고 싶지 않았습니다. 그러나 며칠 후 열면 오류 메시지가 나타납니다.

MongoDB shell version v4.0.4
connecting to: mongodb://127.0.0.1:27017
2018-12-05T20:42:40.108+0530 E QUERY    [js] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: No connection could be made because the target machine actively refused it. :
connect@src/mongo/shell/mongo.js:257:13
@(connect):1:6
exception: connect failed

그런 다음 위의 모든 답변을 사용하여 수정하려고 시도했지만 작동하지 않았습니다. 내가 몽고를 실행하려고했을 때

MongoDB starting : pid=12220 port=27017 dbpath=C:\data\db\ 64-bit host=bla

파일 시스템을 통해 (프로그램 파일로) db 경로를 변경하고 cmd를 사용하려고 시도했지만 작동하지 않았습니다.

나를 위해 일한 솔루션은 다음과 같습니다.

열린 작업 관리자 ( ctrl + shift + esc> -) 서비스 탭을하고 MongoDB를 행이 있었다상태를 중지 . 그런 다음 마우스 오른쪽 버튼을 클릭하고 시작을 클릭하면 모든 것이 완벽하게 작동합니다 . :) .


5

위의 모든 해결 방법이 작동하지 않는 경우 : 서비스 ( start>search>services) 로 이동하여 mongodb 서비스를 시작하십시오. 그런 다음 cmd 프롬프트에서 bin으로 이동 한 후 다음을 입력합니다.:/>mongo


5

mongo와 연결하려면 먼저 'mongod'서비스를 시작해야합니다. 다음 출력을 볼 수 있습니다.

$ mongod
2017-03-05T00:31:39.055+0530 I CONTROL  [initandlisten] MongoDB starting : pid=1481 port=27017 dbpath=/data/db 64-bit host=Prabhu-Nandans-Mac.local
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] db version v3.4.2
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] git version: 3f76e40c105fc223b3e5aac3e20dcd026b83b38b
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.2k  26 Jan 2017
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] allocator: system
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] modules: none
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] build environment:
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten]     distarch: x86_64
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten]     target_arch: x86_64
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] options: {}
2017-03-05T00:31:39.056+0530 W -        [initandlisten] Detected unclean shutdown - /data/db/mongod.lock is not empty.
2017-03-05T00:31:39.057+0530 I -        [initandlisten] Detected data files in /data/db created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
2017-03-05T00:31:39.057+0530 W STORAGE  [initandlisten] Recovering data from the last clean checkpoint.
2017-03-05T00:31:39.057+0530 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=3584M,session_max=20000,eviction=(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-03-05T00:31:39.620+0530 I CONTROL  [initandlisten] 
2017-03-05T00:31:39.620+0530 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-03-05T00:31:39.620+0530 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2017-03-05T00:31:39.620+0530 I CONTROL  [initandlisten] 
2017-03-05T00:31:39.620+0530 I CONTROL  [initandlisten] 
2017-03-05T00:31:39.620+0530 I CONTROL  [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
2017-03-05T00:31:39.643+0530 I FTDC     [initandlisten] Initializing full-time diagnostic data capture with directory '/data/db/diagnostic.data'
2017-03-05T00:31:39.643+0530 I NETWORK  [thread1] waiting for connections on port 27017
2017-03-05T00:31:40.008+0530 I FTDC     [ftdc] Unclean full-time diagnostic data capture shutdown detected, found interim file, some metrics may have been lost. OK
2017-03-05T00:32:03.832+0530 I NETWORK  [thread1] connection accepted from 127.0.0.1:49806 #1 (1 connection now open)
2017-03-05T00:32:03.833+0530 I NETWORK  [conn1] received client metadata from 127.0.0.1:49806 conn1: { application: { name: "MongoDB Shell" }, driver: { name: "MongoDB Internal Client", version: "3.4.2" }, os: { type: "Darwin", name: "Mac OS X", architecture: "x86_64", version: "16.4.0" } }
2017-03-05T00:32:08.376+0530 I -        [conn1] end connection 127.0.0.1:49806 (1 connection now open)

그 후 다른 터미널을 열고 'mongo'를 입력하십시오.

다음은 볼 수있는 출력입니다.

$ mongo
MongoDB shell version v3.4.2
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.2

문제가 해결되었습니다. :)



5

다음과 같이 많은 것을 검색 한 후에도 동일한 문제에 직면합니다.

sudo service mongodb stop 

sudo rm /var/lib/mongodb/mongod.lock 

sudo mongod --repair --dbpath /var/lib/mongodb 

sudo mongod --fork --logpath /var/lib/mongodb/mongodb.log --dbpath /var/lib/mongodb 

sudo service mongodb start

이것은 효과가 있었다! 그러나 그것은 일시적입니다. 시스템을 다시 시작할 때 다시 실행되지 않았습니다
PredatorX

3

macOS에서 brew를 사용하여 설치 한 후 mongodb를 연결하는 데 동일한 문제가 발생했습니다.

문제는 또한 mongod.lockmongodb 3.6을 설치하기 전에 데이터베이스 디렉토리가 /usr/local/var/mongodb있었고 오래된 파일이 있고mongod.lock

간단하게 이전 데이터베이스 파일을 다른 폴더로 이동하고 모든 것을 제거했습니다. /usr/local/var/mongodb

그런 다음 다시 시작했습니다.

brew services restart mongodb

그리고 지금은 잘 작동하고 있습니다.


3

우분투에서이 오류가 발생했지만 다음 명령으로 시도 할 수 있습니다.

sudo service mongod start


2

이것은 오늘 저와 함께 일어나고 있었고 다음과 같이 해결했습니다.

컴퓨터 : Windows 10 컴퓨터를 사용하고 있으며 최신 MongoDB-Community 에디션을 다운로드했습니다.

그래서 문제는 내가 만들지 않았다는 것 C:\data\db입니다.

생성하지 않고 C:\data\dbCMD 터미널을 열고 터미널 mongod에서 명령을 사용하여 데이터베이스를 시작했습니다.

C : \ YourInstallationPath \ bin> mongod

그리고 내가 mongo명령을 내렸을 때 문제가 생겼습니다.

Twist, 필요한 폴더를 만들었지 만 여전히 문제가 발생했습니다. 그리고 이것은 mongo 서버가 이미 실행 중이었기 때문입니다. 이 문제를 해결하기 위해 mongod명령을 다시 실행했고 자동으로C:\data\db .

다른 사용자는 추가를 제안 C:\data\db했지만 mongod다시 실행에 대해 이야기하지 않았으므로 내 문제가 정확히 해결되었습니다.


1
Mac-OS에서 brew를 사용하여 mongodb-community를 설치 한 경우 이것을 시도해보십시오. brew services start mongodb-community또는 brew services restart mongodb-community이미 서비스를 시작한 사람들을 위해
Fahd Jamy

2

제 경우에는 Windows와 우분투에서 /data/db 에서 루트에 폴더 했습니다. 우분투에서는 하나의 추가 옵션이 필요했습니다. 디렉토리에 대한 권한을 부여합니다.

mkdir c:/data/db

우분투 :

sudo mkdir -p /data/db
sudo chmod 700 /data/db

그런 다음 실행

sudo service mongod start

검사

sudo service mongod status

그런 다음 실행

mongo

2

다음을 사용하여 monogdb 서비스 시작

sudo service mongod start 

그런 다음 새 창 또는 터미널에서 mongo 클라이언트를 사용하여 시작하십시오.

mongo

1

이 동일한 오류를 해결 한 또 다른 솔루션은 가상 머신 (적어도 내 설정)을 통해 SSH 연결을 통해 mongo (로컬)에 액세스하는 경우에만 가능하며 Linux 특정 환경 변수 문제 일 수 있습니다.

export LC_ALL=C

또한 mongo를 데몬 서비스로 실행 한 다음 sudo 서비스 시작을 사용하여 더 많은 성공을 거두었습니다. 내 이해는 구성 파일이 아닌 명령 줄 인수를 사용하므로 내 구성 파일에 문제가있을 가능성이 높습니다.

mongod --fork --logpath /var/log/mongodb.log --auth --port 27017 --dbpath /var/lib/mongodb/admin

1

컴퓨터에 아직없는 경우 C : data / db 폴더를 만듭니다. MongoDB를 실행하려면이 폴더 구조 'data / db'가 있어야합니다. 누군가에게 도움이되기를 바랍니다.


1

나에 의한 원인은 공간이었습니다. 콘솔에서 이것을 실행하십시오.

df -h

또는 더 구체적으로 :

du -hs /var/lib/mongodb/ 

디스크 사용량을 확인합니다. ~ 99 %이면 공간을 정리하고 다시 시도하세요!


1

먼저 c:\mongodb\bin>mongoDB를 켜십시오. 콘솔에서 mongo가 포트 27017에서 수신 대기하고 있음을 확인하면 괜찮습니다. 그렇지 않은 경우 콘솔을 닫고 폴더를 만들고 c:\data\dbmongod를 다시 시작하십시오.


1

위의 모든 솔루션이 작동하지 않으면 도움이 될 수 있습니다. 라인 어딘가에 방랑 상자를 통해 로컬 mongodb 데이터베이스에 연결했을 수 있습니다.

  1. vagrant를 실행 한 다음 mongodb (vagrant ssh vagrant_box_name)와 연결 한 vagrant 머신에 ssh를 입력합니다.
  2. # (sudo nano /etc/mongod.conf)를 사용하여 /etc/mongod.conf에서 bind_ip 줄을 주석 처리하십시오.
  3. mongodb 데몬 서비스를 다시 시작하십시오 (sudo 서비스 mongod restart) 짜잔 ...

1

좋습니다. 이상 할 수 있습니다. 내 로그가 기하 급수적으로 커지고 서버 공간이 막혀서 mongo가 아무것도 저장할 공간을 얻지 못해 오류가 발생했습니다.

그래서 나는 로그를 지웠다

> /var/log/mongod.log

1

Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: No connection could be made because the target machine actively refused it.

이 오류는 Mongo 서버가 종료 되었기 때문에 발생했습니다.

다음 단계를 따르십시오.

  1. 작업 관리자 열기
  2. > 서비스로 이동
  3. MongoDB 찾기
  4. 마우스 오른쪽 버튼을 클릭하고 시작을 선택합니다.

1

이걸로 해봐:

터미널의 bin 폴더에 들어가서 다음을 작성하십시오.

sudo ./mongod --dbpath <write_here_the_path_to_your_database>, Enter를 클릭하십시오. (항상 똑같은 일을).

그때 sudo ./mongo


0

mongod.lock 파일을 제거하십시오. 그리고 "mongod -repair"를 실행하십시오. mongod 서비스를 제거 / 다시 설치하면 해당 문제가 해결되었습니다.

감사.



0

드디어 간단한 방법으로 ..

터미널을 열고 mongodb 위치로 이동하십시오. 제 경우에는

e:\mongodb\bin> 

다음 명령을 입력하고 Enter를 누르십시오.

mongod --config e:\mongodb\mongo.config

다른 터미널을 열고 다음을 사용하여 mongodb를 시작하십시오.

mongo.exe

그게 다야 .. 몽고를 사용할 수 있습니다.

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