[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.나는 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.KurioZ7에서 제공하는 대답 대안, 당신은 단순히 현재 사용자에게 .sock 파일의 권한을 설정할 수 있습니다 :
KurioZ7에서 제공하는 대답 대안, 당신은 단순히 현재 사용자에게 .sock 파일의 권한을 설정할 수 있습니다 :
sudo chown `whoami` /tmp/mongodb-27017.sock
내가 sudo는하지 않고 MongoDB를 실행하려면이 나를 위해 트릭을 수행합니다. 내가 Kurio기를 대답처럼 파일을 삭제 한 경우, 단순히 같은 오류를 내가 내 컴퓨터를 다시 시작할 때 얻을 것이다.
-
==============================
3.당신이 명령을 사용할 때이 문제가 발생합니다
당신이 명령을 사용할 때이 문제가 발생합니다
mongod
명령을 사용하기 전에
sudo service mongod start
중,이 문제를 해결하려면 :
파일에 적절한 권한을 설정합니다 :
/tmp/mongodb-27017.sock
또는
파일을 제거합니다
/tmp/mongodb-27017.sock
운영
sudo service mongod start && mongod
-
==============================
4.이에 대한 가장 큰 원인은 mongod 프로세스가 루트 사용자가 시작한 어느 시점이었다이었다. 소켓 파일 (/tmp/mongodb-27017.sock)을 따라서 루트 사용자가 소유했다. mongod 프로세스는 일반적으로 자신의 전용 사용자에서 실행하고, 그 사용자는 해당 파일을 삭제할 수있는 권한을 가지고 있지 않았다.
이에 대한 가장 큰 원인은 mongod 프로세스가 루트 사용자가 시작한 어느 시점이었다이었다. 소켓 파일 (/tmp/mongodb-27017.sock)을 따라서 루트 사용자가 소유했다. mongod 프로세스는 일반적으로 자신의 전용 사용자에서 실행하고, 그 사용자는 해당 파일을 삭제할 수있는 권한을 가지고 있지 않았다.
당신이 이미 발견 솔루션, 삭제하는 것이 었습니다. 그 후 MongoDB를 올바른 권한을 다시 할 수 있었다. 이것은 한 MongoDB를가 init 스크립트를 사용하여 시작으로, 또는 올바른 사용자 계정, 재부팅 후 계속해야한다.
-
==============================
5.
$ sudo mongod
나를 위해 문제를 해결
-
==============================
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 : 당신의 문서를 읽을 수 있습니다
from https://stackoverflow.com/questions/29813648/failed-to-unlink-socket-file-error-in-mongodb-3-0 by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 방법 MongoDB를 사용하는 캐싱을 해제? (0) | 2019.12.14 |
---|---|
[MONGODB] MongoDB를 BsonDocument로 변환 문자열 (0) | 2019.12.14 |
[MONGODB] 문자열이 MongoDB를 OBJECTID 경우 내가 확인할 수 있습니까? (0) | 2019.12.14 |
[MONGODB] MongoDB의에서 ISODate 포맷 (0) | 2019.12.13 |
[MONGODB] 어떻게 같은 성명을 채우고 집계를 사용 하는가? (0) | 2019.12.13 |