복붙노트

[MONGODB] 'MongoDB를 3.0에서 링크 해제 소켓 파일 "오류로 실패

MONGODB

'MongoDB를 3.0에서 링크 해제 소켓 파일 "오류로 실패

나는 MongoDB에 새로운 오전. 나는 윈도우 7 호스트에 VM 우분투 13.0 LTS에 MongoDB를 3.0을 설치하려합니다. 나는 성공적으로 (패키지 등)하여 MongoDB를 설치했지만 내가 명령 sudo는 서비스가 시작 mongod 실행할 ​​때, 나는 "/var/log/mongodb/mongod.log"로그 파일에 다음과 같은 오류가 발생합니다. 캔 사람의 도움이 날이 오류를 이해. 이 관련된 인터넷에 아무것도 없다.

해결법

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

    1.나는 MongoDB를-27017.sock 파일을 삭제하여이 문제를 스스로 해결했습니다. 나는 벌금을 일이 파일을 삭제 한 후 서비스를 달렸다. 그러나, 나는 여전히 문제의 근본 원인을 모르겠습니다. 명령 LS의 출력은 - 위도 /tmp/mongodb-27017.sock은 지금

    나는 MongoDB를-27017.sock 파일을 삭제하여이 문제를 스스로 해결했습니다. 나는 벌금을 일이 파일을 삭제 한 후 서비스를 달렸다. 그러나, 나는 여전히 문제의 근본 원인을 모르겠습니다. 명령 LS의 출력은 - 위도 /tmp/mongodb-27017.sock은 지금

    srwx------ 1 mongodb nogroup 0 Apr 23 06:24 /tmp/mongodb-27017.sock
    
  2. ==============================

    2.KurioZ7에서 제공하는 대답 대안, 당신은 단순히 현재 사용자에게 .sock 파일의 권한을 설정할 수 있습니다 :

    KurioZ7에서 제공하는 대답 대안, 당신은 단순히 현재 사용자에게 .sock 파일의 권한을 설정할 수 있습니다 :

    sudo chown `whoami` /tmp/mongodb-27017.sock
    

    내가 sudo는하지 않고 MongoDB를 실행하려면이 나를 위해 트릭을 수행합니다. 내가 Kurio기를 대답처럼 파일을 삭제 한 경우, 단순히 같은 오류를 내가 내 컴퓨터를 다시 시작할 때 얻을 것이다.

  3. ==============================

    3.당신이 명령을 사용할 때이 문제가 발생합니다

    당신이 명령을 사용할 때이 문제가 발생합니다

    mongod
    

    명령을 사용하기 전에

    sudo service mongod start
    

    중,이 문제를 해결하려면 :

    파일에 적절한 권한을 설정합니다 :

    /tmp/mongodb-27017.sock
    

    또는

    파일을 제거합니다

    /tmp/mongodb-27017.sock
    

    운영

    sudo service mongod start && mongod
    
  4. ==============================

    4.이에 대한 가장 큰 원인은 mongod 프로세스가 루트 사용자가 시작한 어느 시점이었다이었다. 소켓 파일 (/tmp/mongodb-27017.sock)을 따라서 루트 사용자가 소유했다. mongod 프로세스는 일반적으로 자신의 전용 사용자에서 실행하고, 그 사용자는 해당 파일을 삭제할 수있는 권한을 가지고 있지 않았다.

    이에 대한 가장 큰 원인은 mongod 프로세스가 루트 사용자가 시작한 어느 시점이었다이었다. 소켓 파일 (/tmp/mongodb-27017.sock)을 따라서 루트 사용자가 소유했다. mongod 프로세스는 일반적으로 자신의 전용 사용자에서 실행하고, 그 사용자는 해당 파일을 삭제할 수있는 권한을 가지고 있지 않았다.

    당신이 이미 발견 솔루션, 삭제하는 것이 었습니다. 그 후 MongoDB를 올바른 권한을 다시 할 수 있었다. 이것은 한 MongoDB를가 init 스크립트를 사용하여 시작으로, 또는 올바른 사용자 계정, 재부팅 후 계속해야한다.

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

    5.

    $ sudo mongod
    

    나를 위해 문제를 해결

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

    6.Bastronaut에서 제공하는 답의 대안으로 운영 체제를, UNIX 기반를 들어, 당신은 또한, mongod는 (당신이 mongod를 실행하는 방법에 해당하는) 모든 사용자 권한이있는을 통해 폴더에 저장하는 .sock 파일을 지정하는 수 방법 mongod는 또한 셧다운시 .sock 파일을 제거 할 수 있습니다. .sock 파일이 저장되는 기본 폴더는 '/ tmp를'입니다. 'mongodb.conf'예를 들어, 사용자 정의 MongoDB의 구성 파일을 사용하여 다른 폴더를 지정하고 여기에 다음을 추가하려면 :

    Bastronaut에서 제공하는 답의 대안으로 운영 체제를, UNIX 기반를 들어, 당신은 또한, mongod는 (당신이 mongod를 실행하는 방법에 해당하는) 모든 사용자 권한이있는을 통해 폴더에 저장하는 .sock 파일을 지정하는 수 방법 mongod는 또한 셧다운시 .sock 파일을 제거 할 수 있습니다. .sock 파일이 저장되는 기본 폴더는 '/ tmp를'입니다. 'mongodb.conf'예를 들어, 사용자 정의 MongoDB의 구성 파일을 사용하여 다른 폴더를 지정하고 여기에 다음을 추가하려면 :

    net:
      unixDomainSocket:
        pathPrefix: "anotherFolder"
    

    이는 후에는 명령을 mongod 실행할 ​​수 있습니다 :

    $ mongod --config /path/to/mongodb.conf
    

    https://docs.mongodb.org/manual/reference/configuration-options/#net.unixDomainSocket.pathPrefix : 당신의 문서를 읽을 수 있습니다

  7. from https://stackoverflow.com/questions/29813648/failed-to-unlink-socket-file-error-in-mongodb-3-0 by cc-by-sa and MIT license