복붙노트

[MONGODB] 서버 127.0.0.1:27017에 연결할 수 없습니다

MONGODB

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

나는 다음과 같은 오류를 받고 있어요 :

alex@alex-K43U:/$ mongo
MongoDB shell version: 2.2.0
connecting to: test
Thu Oct 11 11:46:53 Error: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js:91
exception: connect failed
alex@alex-K43U:/$ 

이것은 내가 MongoDB를 시작하려고 할 때 발생하는 것입니다 :

* Starting database mongodb                                             [fail]

난 이미 몽고 --repair 시도

나는 chown하지 및 VAR, LIB, 데이터 / DB와 로그 MongoDB를에 chmod를했다.

확실하지하려면 다른 무엇. 어떤 제안?

mongodb.log :

***** SERVER RESTARTED *****


Thu Oct 11 08:29:40 
Thu Oct 11 08:29:40 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability.
Thu Oct 11 08:29:40 
Thu Oct 11 08:29:41 [initandlisten] MongoDB starting : pid=1052 port=27017 dbpath=/var/lib/mongodb 32-bit host=alex-K43U
Thu Oct 11 08:29:41 [initandlisten] 
Thu Oct 11 08:29:41 [initandlisten] ** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
Thu Oct 11 08:29:41 [initandlisten] **       see http://blog.mongodb.org/post/137788967/32-bit-limitations
Thu Oct 11 08:29:41 [initandlisten] **       with --journal, the limit is lower
Thu Oct 11 08:29:41 [initandlisten] 
Thu Oct 11 08:29:41 [initandlisten] db version v2.2.0, pdfile version 4.5
Thu Oct 11 08:29:41 [initandlisten] git version: f5e83eae9cfbec7fb7a071321928f00d1b0c5207
Thu Oct 11 08:29:41 [initandlisten] build info: Linux domU-12-31-39-01-70-B4 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_49
Thu Oct 11 08:29:41 [initandlisten] options: { config: "/etc/mongodb.conf", dbpath: "/var/lib/mongodb", logappend: "true", logpath: "/var/log/mongodb/mongodb.log" }
Thu Oct 11 08:29:41 [initandlisten] Unable to check for journal files due to: boost::filesystem::basic_directory_iterator constructor: No such file or directory: "/var/lib/mongodb/journal"
************** 
Unclean shutdown detected.
Please visit http://dochub.mongodb.org/core/repair for recovery instructions.
*************
Thu Oct 11 08:29:41 [initandlisten] exception in initAndListen: 12596 old lock file, terminating
Thu Oct 11 08:29:41 dbexit: 
Thu Oct 11 08:29:41 [initandlisten] shutdown: going to close listening sockets...
Thu Oct 11 08:29:41 [initandlisten] shutdown: going to flush diaglog...
Thu Oct 11 08:29:41 [initandlisten] shutdown: going to close sockets...
Thu Oct 11 08:29:41 [initandlisten] shutdown: waiting for fs preallocator...
Thu Oct 11 08:29:41 [initandlisten] shutdown: closing all files...
Thu Oct 11 08:29:41 [initandlisten] closeAllFiles() finished
Thu Oct 11 08:29:41 dbexit: really exiting now

편집하다:

나는 그 자물쇠를 제거 mongod 수리를했고,이 오류가 발생했습니다 :

Thu Oct 11 12:05:37 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating

그래서 sudo를 함께했다 :

alex@alex-K43U:~$ sudo mongod --repair
Thu Oct 11 12:05:42 
Thu Oct 11 12:05:42 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability.
Thu Oct 11 12:05:42 
Thu Oct 11 12:05:42 [initandlisten] MongoDB starting : pid=5129 port=27017 dbpath=/data/db/ 32-bit host=alex-K43U
Thu Oct 11 12:05:42 [initandlisten] 
Thu Oct 11 12:05:42 [initandlisten] ** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
Thu Oct 11 12:05:42 [initandlisten] **       see http://blog.mongodb.org/post/137788967/32-bit-limitations
Thu Oct 11 12:05:42 [initandlisten] **       with --journal, the limit is lower
Thu Oct 11 12:05:42 [initandlisten] 
Thu Oct 11 12:05:42 [initandlisten] db version v2.2.0, pdfile version 4.5
Thu Oct 11 12:05:42 [initandlisten] git version: f5e83eae9cfbec7fb7a071321928f00d1b0c5207
Thu Oct 11 12:05:42 [initandlisten] build info: Linux domU-12-31-39-01-70-B4 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_49
Thu Oct 11 12:05:42 [initandlisten] options: { repair: true }
Thu Oct 11 12:05:42 [initandlisten] Unable to check for journal files due to: boost::filesystem::basic_directory_iterator constructor: No such file or directory: "/data/db/journal"
Thu Oct 11 12:05:42 [initandlisten] finished checking dbs
Thu Oct 11 12:05:42 dbexit: 
Thu Oct 11 12:05:42 [initandlisten] shutdown: going to close listening sockets...
Thu Oct 11 12:05:42 [initandlisten] shutdown: going to flush diaglog...
Thu Oct 11 12:05:42 [initandlisten] shutdown: going to close sockets...
Thu Oct 11 12:05:42 [initandlisten] shutdown: waiting for fs preallocator...
Thu Oct 11 12:05:42 [initandlisten] shutdown: closing all files...
Thu Oct 11 12:05:42 [initandlisten] closeAllFiles() finished
Thu Oct 11 12:05:42 [initandlisten] shutdown: removing fs lock...
Thu Oct 11 12:05:42 dbexit: really exiting now

그러나 여전히 같은 문제가.

해결법

  1. ==============================

    1.로그는 이전 잠금 파일이 있기 때문에 MongoDB를가 종료되었음을 나타냅니다.

    로그는 이전 잠금 파일이 있기 때문에 MongoDB를가 종료되었음을 나타냅니다.

    당신이하지 않으며 일지 실행되지 않은 경우, 잠금 파일, 실행 수리를 제거하고 다시 MongoDB를 시작합니다.

    당신이 또는 켜져 저널링 실행중인 경우, 관련 몽고 DB의 문서를 참조하십시오. 그들이 말하는 것을주의 "당신은 당신이 일관성있는 상태로 복구하는 수리를하지 말아야 일지와 함께 실행하는 경우." 당신이 일지되면 이에 대한 수리는 것을 더 악화했을 수 있습니다.

  2. ==============================

    2.

    Step 1: Remove lock file.
    sudo rm /var/lib/mongodb/mongod.lock
    
    Step 2: Repair mongodb. 
    sudo mongod --repair 
    
    Step 3: start mongodb.
    sudo start mongodb 
    or
    sudo service mongodb start
    
    Step 4: Check status of mongodb.
    sudo status mongodb 
    or   
    sudo service mongodb status
    
    Step 5: Start mongo console.
    mongo 
    
  3. ==============================

    3.당신은 몽고를 실행하기 전에 mongod를 실행 했습니까?

    당신은 몽고를 실행하기 전에 mongod를 실행 했습니까?

    나는 http://docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/에서 MongoDB를위한 설치 지침을 따르고 내가 몽고 전에 실제로 몽고의 프로세스를 실행 실행하는 경우에만 나는 당신과 같은 오류가 발생한 mongod와. 나는 또한 그것을 실행하세요하여 MongoDB를 설치 생각하지만 당신은 당신이 필요 MongoDB를하는 것이 다른 작업을 수행하기 전에 mongod와 함께 수동으로 실행해야합니다.

  4. ==============================

    4.이 그것은 mongod 프로세스가 그것을 아래이기 때문에, 당신은 명령이 mongod 프로세스를 얻기 위해 울부 짖는 실행하려면 반드시입니다 :

    이 그것은 mongod 프로세스가 그것을 아래이기 때문에, 당신은 명령이 mongod 프로세스를 얻기 위해 울부 짖는 실행하려면 반드시입니다 :

    ~$ 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
    

    이 당신을 도움이되기를 바랍니다.

  5. ==============================

    5.시험

    시험

    sudo service mongodb start
    

    이것은 내 문제를 해결했다.

  6. ==============================

    6.당신의 파일 시스템 여유 공간을 확인하고 더 적은의 경우를 높일 수 있습니다. 이것은 또한 몽고 시작하지 못하도록 할 수 있습니다. /var/log/mongodb/mongodb.log 파일을 확인하십시오.

    당신의 파일 시스템 여유 공간을 확인하고 더 적은의 경우를 높일 수 있습니다. 이것은 또한 몽고 시작하지 못하도록 할 수 있습니다. /var/log/mongodb/mongodb.log 파일을 확인하십시오.

    ERROR: Insufficient free space for journal files
    Please make at least 3379MB available in /var/lib/mongodb/journal or use --smallfiles
    
  7. ==============================

    7.몽고 전에 mongod를 실행 해보십시오.

    몽고 전에 mongod를 실행 해보십시오.

    sudo는은 / usr / sbin에 / mongod 내 오픈 수세에

    이것은 내 문제를 해결

  8. ==============================

    8.그래서 먼저 명령 아래로 mongod.lock 파일을 제거해야

    그래서 먼저 명령 아래로 mongod.lock 파일을 제거해야

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

    다음 명령 아래 실행하여 MongoDB의 서비스를 다시 시작

    sudo service mongod restart 
    
  9. ==============================

    9.당신은에서 netstat -anp로 확인하실 수 있습니다 | 포트가 다른 프로세스에 의해 사용중인 경우 그렙 27017 확인합니다.

    당신은에서 netstat -anp로 확인하실 수 있습니다 | 포트가 다른 프로세스에 의해 사용중인 경우 그렙 27017 확인합니다.

  10. ==============================

    10.이것은 나를 위해 일한 :

    이것은 나를 위해 일한 :

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

    11.창에서 관리자로 cmd를 실행합니다 :

    창에서 관리자로 cmd를 실행합니다 :

    4.Start 몽고 쉘 :

    c:\mongo\bin\mongo.exe
    

    나를 위해이 솔루션은 잘 작동

  12. ==============================

    12.미래 참고로, 유사한 오류를 방지하려면 다음 단계를 따르십시오 :

    미래 참고로, 유사한 오류를 방지하려면 다음 단계를 따르십시오 :

    1.Download MondoDB https://www.mongodb.com/

    폴더 당신의 다운로드에 2.Open 터미널 및 CD 또는 youve를이 mondodb 다운로드 (당신이 그것으로하기 전에 CD를 MongoDB의 폴더에 압축을 풉니 다 확인)를 저장 한 폴더에 어떤

    cd Downloads
    

    당신 usr / 지방 경로로 이동 시켜서 MongoDB를

    sudo mv mongodb-osx-... /usr/local/mongodb
    

    로컬 폴더에 4.cd

    cd /usr/local/mongodb
    

    새로운 디렉토리를 5.make

    sudo mkdir -p /data/db
    

    바로 위에서 만든 새 디렉토리에 6.cd

    cd /data/db
    

    7.give 몽고 권한

    sudo chown YourMacUserName /data/db
    

    당신의 .bash_profile을 열 / 이동 8.Then

    이렇게하려면 다음과 같이하십시오 :

    당신의 새로운 터미널에서

    1.cd 2.pwd 3.ls -l

    확인하는 경우 터미널에있는 파일의 목록에있는 .bash_profile에 나타납니다

    하지 않으면 것은 -bash_profile를 만들

    .bash_profile을 만들기 :

    터미널에서

    .bash_profile에 접촉

    이미 .bash_profile에있는 경우 //이 단계를 건너 뛰

    Step8 :

    다음 터미널에서 :

    open .bash_profile
    

    그리고 당신의 bash는 파일에 아빠는 다음을 추가 열어야 :

    MONGO_PATH=/usr/local/mongodb
    export PATH=$PATH:$MONGO_PATH/bin
    

    그리고 저장합니다. (파일 저장 또는 명령 S / CMD + S)

    Step9 : 터미널에서 다시 :

    source .bash_profile
    

    당신의 몽고의 다른 데몬 당신 몬도 지금 개방이 terminals.One의 의지.

    터미널 1: 터미널 유형 : MongoDB를

    mongodb
    

    산출:

    터미널 2:

    mongo
    

    산출:

    또한 터미널에 mongod를 시작할 때 다음과 같은 오타 실수를 해달라고해야합니다 : 이것은 잘못된 것입니다

    mongo d
    

    다음과 같은 오류 떨어져 있습니다 :  , 이유 (설문 조사 후 오류에 대한 소켓을 확인)에서, 127.0.0.1:27017에 연결하지 못했습니다 : 연결이 거부 됨

    이것은 올바른입니다 :

    mongod
    

    (어떤 단어가 몽고 사이의 공간과 d..mondod이 없어야합니다

    당신이 당신의 터미널에 몽고를 실행하기 전에 mondod를 실행해야한다는 마지막으로 항상 명심하십시오.

  13. ==============================

    13.나는 http://docs.mongodb.org/manual/tutorial/install-mongodb-on-red-hat/에서 문서를 따랐다.

    나는 http://docs.mongodb.org/manual/tutorial/install-mongodb-on-red-hat/에서 문서를 따랐다.

    구성 및 재부팅 후, 나는 시작 mongod sudo는 서비스를 실행하고있어 ... [실패].

    마지막으로, 나는 mongod 시작 것을 발견했다. 나는이 냠 자동 시작에 추가 설치를 생각한다.

    당신의 MongoDB를 실행중인 경우 확인하려면 서비스 mongod 상태.

    이 캔 도움말 사람이 같은 문제를 가지고 바랍니다.

  14. ==============================

    14.자주 시도 후 마지막으로 나는 문제를 해결하는 데있어 ...

    자주 시도 후 마지막으로 나는 문제를 해결하는 데있어 ...

    Step 1: ps aux | grep mongo
    Step 2: sudo rm /var/lib/mongodb/mongod.lock
    Step 3: sudo mongod --repair
    Step 4: mongo
    
  15. ==============================

    15.이 오류는 MongoDB에의 바인드 IP 설정에 의해 발생할 수 있습니다. 다음과 같은 방법으로 MongoDB를의 설정 파일을 확인할 수 있습니다

    이 오류는 MongoDB에의 바인드 IP 설정에 의해 발생할 수 있습니다. 다음과 같은 방법으로 MongoDB를의 설정 파일을 확인할 수 있습니다

    $ sudo vi /etc/mongodb.conf
    

    내 경우, 바인드 IP는 단지 다음과 같이 서버의 인트라넷 주소로 설정됩니다 :

    bind_ip = 10.10.1.14 
    #port = 27017
    

    나는주고 몽고의 IP 매개 변수는 유형에 따라 쉘에 연결해야 그래서 :

    $ mongo 10.10.1.14
    

    당신이 설정을 변경 한 경우 MongoDB의 서비스를 다시 시작하는 것을 잊지 마십시오.

  16. ==============================

    16.나는 몽고 버전 3.2.1을 가지고 있고이 후, RAN의 mongod하고 성공적으로 시작 / DB / / 데이터에서 잠금 파일을 삭제했다.

    나는 몽고 버전 3.2.1을 가지고 있고이 후, RAN의 mongod하고 성공적으로 시작 / DB / / 데이터에서 잠금 파일을 삭제했다.

    >rm /data/db/mongod.lock
    >mongod
    
  17. ==============================

    17.터미널에서 다음 명령을 실행

    터미널에서 다음 명령을 실행

    1)

    $ sudo service mongod start
    

    2)

     $ mongo
    
  18. ==============================

    18.내 윈도우 OS에서 데이터 디렉토리 안에이었다 mongod.lock를 제거한 후, 여전히 같은 오류 메시지가 표시되었다. 나는 오류없이 실행 몽고 명령을 만들기 위해 --dbpath으로 mongod를 실행했다.

    내 윈도우 OS에서 데이터 디렉토리 안에이었다 mongod.lock를 제거한 후, 여전히 같은 오류 메시지가 표시되었다. 나는 오류없이 실행 몽고 명령을 만들기 위해 --dbpath으로 mongod를 실행했다.

  19. ==============================

    19.답변 수신하고 있지만, 나는 MongoDB의에서 네트워크 오류에 대해 논의 할 것이다.

    답변 수신하고 있지만, 나는 MongoDB의에서 네트워크 오류에 대해 논의 할 것이다.

    안전 쓰기 문제를 설정해야합니다 우린 안전한 것을 확인 할 수있는 완전한 증거 방법이 아니다. 의는 = 1 & J W = true를 설정한다고 가정하자, 쓰기 확인이 서버에서 수신하지 않은 경우에 무엇을? 음, 동반 할 가능성은 발생하지 않았다, 그러나 그것은 일어날 수 있습니다. 우리가 긍정적 인 응답을받지 못할 수 있다는 이유가있다 -이 일어날 수있는 이유는 네트워크 오류가 있다는 것입니다. 그래서 우리는 선택의 언어의 드라이버를 통해 응용 프로그램에서 요청을 보낼 수 있습니다. mongod이 성공적으로 완료 한 후, TCP 리셋이있을 수 있으며, 네트워크는 실제로 우리가 결코 응답을 수신하지하는 방식으로 리셋을 얻을 수 있습니다. 그래서, 우리는 오류를 얻을 수 및 오류에, 우리는 우리가 오류를 가지고 있다고 가정 할 수 있습니다. 그것은 발생하지 않았다, 그러나 발생할 수 있습니다.

    삽입의 경우, 그것을 방지하는 것이 가능하다. 우리가 삽입을 여러 번 할 수 그것이 어떤 해가 될 것입니다 - 우리는 드라이버가 _id를 만들 수 있도록 우리가 삽입을 할 경우 때문에 가능합니다. 우리는이 1 시간을하고 우리가 오류가 발생하고 우리가 네트워크 오류 때문에 삽입이 완료되었는지 여부를 확인하지 않으면, 그때 우리가 다시 할 수 있기 때문에. 그리고 우리는 티르 정확한 _id 그것을 수행하기 위해, 다시 수행 제공. 최악의 시나리오는 우리가 그것을 삽입하려고 할 때 우리는 중복 키 오류가 발생합니다입니다.

    문제가 발생하는 경우 그러나, 업데이트입니다. 특히, 항목 강력하지 않은 업데이트는, 그 인스턴스에 대한 $ 잉크 명령을 포함. 그래서, 우리는 특정 필드를 증가하기 위해 데이터베이스를 말하는 것입니다. 우리는 네트워크 오류가 발생하고 글쎄 그 경우에, 우리는 업데이트가 발생했는지 여부를 알 수 없습니다. 이제, 어쩌면 우리는 우리가 업데이트가 잘되는, 발생했음을 그들과 함께 확인 할 수있는 값에 대해 충분히 알고있다. 우리는 그 분야에 대한 데이터베이스의 시작 값을 모르는 경우 우리는 네트워크 오류가 발생하는 경우에 발생 아닌지 여부를 알 수 있도록하지만, 그것은 불가능합니다. 문제의이 종류는 좋은 네트워크와 매우 드물다.

    우리가 정말 모든 비용을 방지해야하는 경우, 우리가해야 할 것은 삽입에 데이터베이스에서 문서의 가치를 읽고 다음 잠재적으로 그것을 삭제하고 다시 삽입하거나 삽입하여 우리의 모든 업데이트를 설정입니다 새로운 것.

    응용 프로그램 쓰기가 성공하는 경우에도 오류 다시 나타날 수 있습니다 이유 :

  20. ==============================

    20.나를 위해이 작품 MongoDB의 사용을 중지하려면 :

    나를 위해이 작품 MongoDB의 사용을 중지하려면 :

    use admin
    db.shutdownServer()
    

    그리고 다시 시작하려면 :

    sudo service mongod restart
    
  21. ==============================

    21.환경 변수의 PATH에 빈을 추가하면 도움이되었다.

    환경 변수의 PATH에 빈을 추가하면 도움이되었다.

    GOTO 설치 경로 및 Windows에서 환경 변수의 PATH 변수에 ../bin 복사

  22. ==============================

    22.형 윈도우 + R 다음을 입력

    형 윈도우 + R 다음을 입력

    mongo.exe가 존재 어디 각 경로에 cmd "몽고"입력 그것은 작업을 시작한다.

  23. ==============================

    23.D 드라이브 D에 1.Create 신규 폴더 / 데이터 / DB

    D 드라이브 D에 1.Create 신규 폴더 / 데이터 / DB

    2.Open D에서 단말 / 데이터 / DB

    3.Type의 mongod 입력합니다.

    4.Type의 몽고와 입력합니다.

    당신의 MongoDB를 시작했다 ............

  24. ==============================

    24.\ 프로그램 파일 \ MongoDB를 \ 서버 \ 4.0 \ 빈 : 그냥 mongod --repair C에서 실행

    \ 프로그램 파일 \ MongoDB를 \ 서버 \ 4.0 \ 빈 : 그냥 mongod --repair C에서 실행

    여기에 문서가 https://docs.mongodb.com/manual/tutorial/recover-data-following-unexpected-shutdown/

  25. ==============================

    25.

    sudo rm /var/lib/mongodb/mongod.lock
    sudo mongod --repair 
    
  26. from https://stackoverflow.com/questions/12831939/couldnt-connect-to-server-127-0-0-127017 by cc-by-sa and MIT license