127.0.0.1:27017에 연결하지 못했습니다. 이유 : errno : 111 연결이 거부되었습니다.


81

우분투 에서이 mongo 명령을 시도하는 동안이 오류가 발생합니다.

    ritzysystem@ritzysystem-Satellite-L55-A:~$ mongo
    MongoDB shell version: 2.6.1
    connecting to: test
    2014-10-06T12:59:35.802+0530 warning: Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
    2014-10-06T12:59:35.802+0530 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

누군가가 같은 문제를 가지고 있다는 것을 어떻게 해결할 수 있습니까?


6
mongod서버가 실행되고 있지 않으면 mongod터미널 에 입력하여 켜십시오 .
라비

2
귀하의 mongod는이 "몽고 --host localhost"를 같이 사용해 볼 수 127.0.0.1에서 실행되고 있지 않습니다
더 그랜드 아가 왈

1
mongo를 실행 해 본 모든 분들께 감사드립니다. 마침내 실행되지 않았습니다. 하드 디스크에 공간이 없음을 발견했습니다. 일부 공간을 비우고 마침내 mongodb 문서에 제공된 것과 동일한 설치 절차를 따라 다시 설치했습니다. 마침내 서버를 다시 시작했습니다. 실행 중입니다. docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu
인 Ashish 란잔에게

4
(댓글을 게시하는 대신) 자신의 질문에 답할 수 있습니다. 이 솔루션은 더 볼 것 그것은 다른 사람 도움이 될 것입니다
미하이

답변:


98

다음 명령을 실행하십시오.

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

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

맥 OS:

rm /usr/local/var/mongodb/mongod.lock  
sudo service mongod restart

우분투 : mongodb 대신
mongod

6
Ubuntu에서 sudo 서비스 Job for mongod.service failed. See "systemctl status mongod.service" and "journalctl -xe" for details.
mongod

4
어떤이없는 mongodb에서/var/lib/
RegarBoy

1
mongod대신 실행
Iman Mohamadi

우분투 서버 16.04.1 LTS에 완벽하게 실행
캐미 로드리게스

29

Mac OS에서 동일한 문제가 발생했습니다 sudo mongod 를 실행 하고 새 터미널 탭에서 mongo를 실행하십시오.


나는 mongo또한 sudo와 함께 실행해야했다
Tomasz Mularczyk

22

mongo를 실행 해 본 모든 분들께 감사드립니다. 마침내 실행되지 않았습니다. 하드 디스크에 공간이 없음을 발견했습니다. 일부 공간을 비우고 마지막으로 mongodb 문서에 제공된 것과 동일한 설치 절차를 따라 다시 설치했습니다. 마침내 서버를 다시 시작했습니다. 실행 중입니다.

https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu


왜 다시 설치되었는지 모르겠습니다. 원치 않는 파일을 삭제하여 공간을 확보하기에 충분하다고 생각하고 공간이 없어서 mongod 서비스가 종료 될 수 있으므로 mongod 서비스를 다시 시작해야 할 수도 있습니다. 재설치해야하는 특별한 이유가 있습니까?.
Siva S

18

제 경우에는 mongodb가 데이터를 저장하는 데 사용하는 / data / db 폴더가 누락되어 오류가 발생했습니다. $sudo mongod 터미널 에이 명령 을 입력 하십시오. 오류 메시지가 다음과 같은 경우 :

missing data/db folder error

폴더를 생성하기 만하면됩니다.


자동으로 생성되지 않는 것이 이상합니다.
basickarl

루트 폴더에 directroy data / db를 만들면 이제 정상적으로 작동합니다.
vidur punj

참고 : 폴더에 대한 권한도 부여하는 것을 잊지 마십시오. mkdir /data/db그때chmod 777 /data/db
AndreFeijo


9

아마도 하드 드라이브에 공간이 없을 것입니다. promt를 입력하여 확인하십시오. df -h

mongo는 해당 파티션에서 3GB를 사용할 수 있어도 실패 할 수 있습니다. 자세한 내용은 로그를 확인할 수 있습니다.cat /var/log/mongodb/mongod.log


"mongodb.log"에 오타가 있으며 "mongod.log"로 기록됩니다. 편집을 시도했지만 stackoverflow는 적어도 6 자 이상을 편집해야한다고 말했습니다. 나쁜 생각 imo SO.
Robert Bracco

8

내 Mac에서 동일한 문제가 발생했으며 homebrew를 통해 mongodb를 설치했습니다. 나는자가 제 서비스 로이 문제를 해결한다 명령 .

먼저 mongodb 서비스를 시작하십시오.

$ brew services start mongodb

mongodb 터미널 시작

$ mongo

mongodb 서비스를 중지하십시오.

$ brew services stop mongodb


7

콘솔을 연결하기 전에 MongoDB의 서비스를 실행했는지 확인하십시오.

서버를 실행하고 시작하십시오.

$ sudo mongod

그때:

$ mongo
...
>

5

이 작업을 수행:

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

Ubuntu 16.04를 사용하는 경우 다음을 실행하여 알아낼 수 있습니다.

lsb_release -a

/lib/systemd/system/mongod.service다음 내용 으로 새 파일을 생성해야합니다 .

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual

[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf

[Install]
WantedBy=multi-user.target

4

제 경우에는 mongodb.lock 파일에 대한 명백한 권한 상실로 인해 문제가 발생했습니다. 다음 명령으로 권한 변경 문제를 해결할 수 있습니다.

sudo chown mongodb:mongodb /var/lib/mongodb/mongodb.lock

내 조사는 다음과 같습니다. 단계별 검증


4

디스크 공간을 제외하고는 로그인을 확인하여 /var/log/mongodbmongodb 시작이 실패한 이유에 대한 세부 정보를 확인해야한다고 생각합니다 .

cat /var/log/mongodb/mongod.log

2016-06-26T15:26:26.642+0800 I CONTROL  [main] ***** SERVER RESTARTED *****
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] MongoDB starting : pid=8130 port=27017 dbpath=/var/lib/mongodb 64-bit host=hadoop-master
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] db version v3.2.7
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] git version: 4249c1d2b5999ebbf1fdf3bc0e0e3b3ff5c0aaf2
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.1f 6 Jan 2014
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] allocator: tcmalloc
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] modules: none
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] build environment:
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten]     distmod: ubuntu1404
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten]     distarch: x86_64
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten]     target_arch: x86_64
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "127.0.0.1,192.168.3.10", port: 27017 }, storage: { dbPath: "/var/lib/mongodb", journal: { enabled: true } }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log" } }
2016-06-26T15:26:26.678+0800 E NETWORK  [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock errno:1 Operation not permitted
2016-06-26T15:26:26.678+0800 I -        [initandlisten] Fatal Assertion 28578
2016-06-26T15:26:26.678+0800 I -        [initandlisten] 

***aborting after fassert() failure

따라서 여기에서 /tmp. 그것은 나를 위해 잘 작동합니다.



3

제 경우에는 bind_ip가 /etc/mongodb.conf 파일 에서 127.0.0.1이 아니 으므로 bind_ip를 127.0.0.1로 변경하십시오 (쉼표로 구분 된 값일 수 있으므로 127.0.0.1이 그중 하나인지 확인하십시오). 그런 다음 시스템을 다시 시작 하여 적용하십시오. 직면 한 사람들에게만 재시작

$sudo service mongod restart
Failed to restart mongod.service: Unit mongod.service not found.

3

mongo v3.6.3 + (또는 2019 버전)

rm /var/lib/mongodb/mongod.lock
service mongodb restart

1

매우 간단합니다 /var/lib/mongodb/mongodb.lock. 파일 만 삭제하십시오 . 실행 후 : mongo. 끝마친


1

에 지정된 mongo의 데이터 디렉토리 /etc/mongod.conf가 유효한 경로가 아닐 수 있습니다.

경로가 실제로 존재하는 경우 다시 sudo vi /etc/mongod.conf확인하고 확인하십시오 dbPath.


1

나는 당신과 같은 오류가 있습니다. 이것이 제 경우입니다.

~# mongod
2018-07-15T05:27:08.265+0000 I JOURNAL  [initandlisten] journal dir=/data/db/journal
2018-07-15T05:27:08.265+0000 I JOURNAL  [initandlisten] recover : no journal files present, no recovery needed
2018-07-15T05:27:08.301+0000 I JOURNAL  [durability] Durability thread started
2018-07-15T05:27:08.301+0000 I JOURNAL  [journal writer] Journal writer thread started
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] MongoDB starting : pid=26796 port=27017 dbpath=/data/db 64-bit host=ubuntu-s-2vcpu-4gb-sfo2-01
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] 
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] 
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] 
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] db version v3.0.6
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] git version: 1ef45a23a4c5e3480ac919b28afcba3c615488f2
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] build info: Linux build6.ny.cbi.10gen.cc 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] allocator: tcmalloc
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] options: {}
2018-07-15T05:27:08.308+0000 I NETWORK  [initandlisten] waiting for connections on port 27017

mongod를 입력하여 서버를 시작하고 control+를 입력합니다.c 를 하여 셸로 종료합니다.

그런 다음 입력 mongo하고

~# mongo
MongoDB shell version: 3.0.6
connecting to: test
2018-07-15T05:05:02.738+0000 W NETWORK  Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
2018-07-15T05:05:02.739+0000 E QUERY    Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed
    at connect (src/mongo/shell/mongo.js:179:14)
    at (connect):1:6 at src/mongo/shell/mongo.js:179

보시다시피 내 오류 정보는 귀하와 동일합니다.

이것은 내가 입력 control+ c나는 mongod를 종료 할 때 mongod가 백엔드 프로세스로 시작하지 않는 경우 입니다.

--fork args를 추가하여 프로세스 데몬 프로세스를 만들 수 있습니다.

#  mongod --logpath /usr/local/mongodb/log.txt --fork

--fork를 사용하려면 --logpath를 설정해야합니다.

그러면 mongo에 성공적으로 연결됩니다.


1

이 간단한 단계를 따르십시오. (MAC OS에서도 작동)

  1. 터미널을 열고 실행 sudo mongod

  2. 새 터미널 탭을 열고 (1 단계 탭을 닫지 마십시오) 실행 sudo mongo

그게 다야


0

Mongo 3. *. *-OSX-2017

README에서

RUNNING

mongodb-osx-x86_64-3. *. * / bin으로 디렉토리를 변경하십시오.

단일 서버 데이터베이스를 실행하려면 :

$ mkdir /data/db
$ ./mongod

터미널로 이동

$ # The mongo javascript shell connects to localhost and test database 
$ # by default -Run the following command in new terminal
$ ./mongo 
> help

왜 반대 투표입니까? 이것이 당신이 그것을해야하는 방법입니다 ?? !!
Mina Gabriel

0

나는 단순히 입력하여 그 해결 sudo mongo한 후 mongod명령.



0

내 사건에 대한 몇 가지 생각.

dbPath 및 logPath 디렉토리를 사용자 정의 값 (예 : / data / mongodb / data, / data / mongodb / log)으로 변경 한 경우 mongodb 사용자로 chown해야합니다. 그렇지 않으면 존재하지 않는 / data / db / dir 사용하게 될 것이다.

sudo chown -R mongodb:mongodb /data/mongodb/

sudo service mongod restart

0

최신 MongoDB v 3.6.5 + 에서 mongod.conf 파일 이 변경되었습니다.

다음은 Mac OS High Sierra v 10.12.3에서이 문제를 해결하는 방법입니다.

참고 : homebrew를 사용하여 MongoDB를 설치 / 업그레이드했다고 가정합니다.

몽고-버전

MongoDB shell version v3.6.5 
git version: a20ecd3e3a174162052ff99913bc2ca9a839d618 
OpenSSL version: OpenSSL 1.0.2o  27 Mar 2018 
allocator: system modules: none build environment:
distarch: x86_64
target_arch: x86_64
  1. mongod.conf 파일 찾기

     sudo find / -name mongod.conf` 
    

    /usr/local/etc/mongod.conf> 첫 ​​번째 결과.

  2. mongod.conf 파일 열기

    sudo vi /usr/local/etc/mongod.conf
    
  3. net : 섹션 에서 원격 액세스를 위해 파일에서 편집

     port: 27017  
     bindIpAll: true 
     #bindIp: 127.0.0.1 // comment this out
    
  4. mongodb 다시 시작

    brew를 사용하여 설치 한 경우

    brew services stop mongodb
    
    brew services start mongodb
    

그렇지 않으면 프로세스를 종료하십시오.

   sudo kill -9 <procssID>

1
이 답변을 읽는 사람들에게 : 조심하세요! 내가 착각하지 않는 한 주석 처리 bindIp는 인증을 활성화하지 않은 경우 (기본적으로 활성화되지 않음) 데이터베이스를 개방형 인터넷에 노출합니다.

0

데이터베이스 연결에 문제가 있었으며 몇 가지 이유 때문일 수 있습니다. 나에게 그것은 내 서버 컴퓨터의 디스크 공간이 부족했으며 mongo가 디스크 부족으로 인해 연결을 시도하면 서버 컴퓨터 로컬 저장소를 du -sh확인하고 저장 공간이 부족한 경우 로그 크기를 확인하고 그에 따라 조치를 취하십시오. dbpath 모순으로 인해 존재 /etc/mongod.conf하고 실제로 dbpath를 실행하는 서버 mongod 와 같은 유형의 문제가 발생하면 아래 주어진 링크에서 내 대답을 확인하십시오. https://stackoverflow.com/a/53057695/8247133


0

같은 문제에 직면 했으므로 mongodb 폴더가 있는지 확인하고 먼저 해당 폴더를 제거하십시오.

rm -rf /var/lib/mongodb/*

이제 mongo를 시작하고 동일한 문제가 발생하면 mongo를 시작하지 못하게하는 mongodb 잠금 파일이 있으므로 mongo 잠금 파일을 삭제하십시오.

rm /var/lib/mongodb/mongod.lock

강력하게 rm -rf /var/lib/mongodb/mongod.lock

서비스 mongodb가 이미 sudo 모드에 있으면 다시 시작하십시오. 그렇지 않으면 다음과 같이 사용해야합니다. sudo service mongod start

또는 포크 방법을 사용하여 서버를 시작할 수 있습니다

mongod --fork --config /etc/mongod.conf

그리고 같은 것을 보려면 아래 명령을 사용하여 확인하십시오.

ps aux | grep mongo

0

Windows 사용자를 위해. Windows에서도 같은 문제가 발생했습니다. Mongodb 서비스를 다시 시작하면이 문제가 해결됩니다.

다음은 Windows에서 다시 시작하는 단계입니다.

나는). Windows에서 "서비스"로 이동하십시오.

ii). 서비스 목록에서 "MongoDB"를 검색합니다.

iii). 상태에 따라 "시작"/ "다시 시작"을 마우스 오른쪽 단추로 클릭하십시오.

iv). 상태가 "실행 중"으로 바뀌면 "Mongo"를 실행하거나 Mongo 클라이언트를 연결하여 문제가 해결되었는지 확인합니다.


0

대한 macOS해답의 많은 이미에 따라 구식이되어 공식 문서 . 어떻게 든 brew변경되고 설치 방법이 변경되었습니다 MongoDB. 먼저 macOS필요하지 않을 수도 있지만 먼저 제거하고 다음 단계를 사용하여 설치하십시오.

  1. brew tap mongodb/brew
  2. brew install mongodb-community@4.4
  3. brew services start mongodb-community@4.4

4.4부품을 조심 하십시오. 변경 될 것입니다. 나중에 중단 될 경우 공식 문서 를 참조 하고 링크 된 튜토리얼에서 제안하는 버전을 설치하십시오.

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