programing

MongoDB는 Ubuntu에서 루트로 실행될 때만 작동합니다 - 데이터 디렉토리 문제

skycolor 2023. 5. 2. 22:31
반응형

MongoDB는 Ubuntu에서 루트로 실행될 때만 작동합니다 - 데이터 디렉토리 문제

공식 패키지(mongodb-stable)와 함께 MongoDB를 설치하고 다음이 포함된 Quickstart 가이드를 따릅니다.

기본적으로 MongoDB는 데이터를 저장합니다./data/db디렉터리가 자동으로 생성되지는 않습니다.작성하려면 다음을 수행합니다.

$ sudo mkdir -p /data/db/
$ sudo chown `id -u` /data/db

또한 MongoDB에 다른 데이터 디렉토리를 사용하도록 지시할 수 있습니다.--dbpath선택.

실행해야 MongoDB가 시작됩니다.sudo mongod만약 내가 도망치려고 한다면,mongod오류가 발생했습니다.

Mon Mar 14 15:27:07 [initandlisten] couldn't open /data/db/test.ns errno:13 Permission denied
Mon Mar 14 15:27:07 [initandlisten]   couldn't open file /data/db/test.ns terminating
Mon Mar 14 15:27:07 dbexit:

왜 그러고 있어?

사용자가 작성한/data/db루트로 지정하여 해당 권한을 가집니다.사용자 계정 또는 실행 중인 몽고에 대한 권한을 변경할 수 있습니다.

chown -R username /data/db

또는/data

그룹을 설정할 수도 있습니다.

chown -R username.groupname

-R재귀적으로 실행되므로 이미 mongoDB를 루트로 실행 중인 모든 파일에 영향을 줍니다.

저는 방금 2021년 RHEL 8에서 같은 문제를 겪었습니다.

도망갈 수 있어요sudo mongodsudo 권한이 있지만 다음을 사용하여 서비스로 시작할 수 없습니다.sudo systemctl start mongod.

저는 많은 솔루션을 시도했고 각각의 시도 후에 테스트했습니다. 궁극적으로 이를 해결한 것은 소유권을 변경하는 것입니다./data/db/,/var/lib/mongo/,그리고./var/log/mongodb/로.mongod.

정확한 명령:

sudo chown -R mongod:mongod /var/lib/mongo/
sudo chown -R mongod:mongod /var/log/mongodb/
sudo chown -R mongod:mongod /data/

언급URL : https://stackoverflow.com/questions/5300861/mongodb-only-works-when-run-as-root-on-ubuntu-data-directory-issue

반응형