programing

mongodb 데이터 디렉터리 사용 권한

magicmemo 2023. 5. 1. 20:48
반응형

mongodb 데이터 디렉터리 사용 권한

이전에 나는 모든 mongodb 데이터 파일을 /var/lib/mongodb 디렉토리에 저장하고 있었습니다./etc/mongodb.conf의 dbpath 항목은 /var/lib/mongodb였습니다.

이제 데이터 디렉토리를 /vol/db로 변경합니다.그래서 /vol/db 디렉토리를 만들고 sudochown -R을 사용하여 권한을 변경했습니다.id -u/vol/db 및 /etc/mongodb.conf의 /vol/db 경로 항목을 변경했습니다.

이제 sudo service mongodb를 사용하여 mongodb를 시작하면 시작합니다./var/log/mongodb/mongodb.log에서 이 오류가 발생합니다.

http://pastebin.com/C0tv8HQN

나는 도움이 필요합니다.어디가 틀렸습니까?

저도 같은 문제를 겪고 있었지만, 비슷한 질문 덕분에 해결할 수 있었습니다.당신은 그것을 확인할 필요가 있습니다./vol/db/소유자mongodb.

sudo chown -R mongodb:mongodb /vol/db/

오류가 발생한 경우chown: invalid user: 'mongodb:mongodb',확인./etc/passwd유사한 사용자가 있는지 확인합니다(예:mongod).

가장 쉬운 방법은

sudo chmod 777 /data/db

새 DB 경로의 사용 권한 및 소유권을 변경한 후에도 이 문제가 계속 발생하는 경우,getenforceSELinux가 실행 중인 시스템을 사용하는지 확인합니다.getenforce가 'enforceing'을 반환하면 selinux가 권한 오류의 원인일 수 있습니다. mongodb는 /var/lib/...에서 db 위치가 변경된 이후로 현재 원래 컨텍스트 범위 밖에서 실행되고 있기 때문입니다.

자세한 내용은 모르겠지만 새로운 컨텍스트에 대한 셀리눅스 정책을 작성하지 않고 문제를 해결하는 강력한 방법은 단순히 셀리눅스를 끄는 것입니다. :-/

sudo setenforce 0

운영 환경에서 실행할 계획이라면 이러한 리눅스 정책을 업데이트하는 방법을 찾는 것이 이상적입니다.

mongog를 읽고 무엇이 오류인지 확인할 것을 제안합니다.

tail -50 /var/log/mongodb/mongodb.log

문제(권한 포함)를 즉시 찾을 수 있습니다.

다음을 시도합니다.

$ sudo chmod 755 /vol/db && sudo chown $USER /vol/db

언급URL : https://stackoverflow.com/questions/5973811/mongodb-data-directory-permissions

반응형