MongoDB 구성 파일을 편집하여 데이터를에 저장했습니다 /home/user/data/mongod
.
그러나 새 폴더에 대한 권한이 부여되지 않았기 때문에 데이터는 여전히 기존 디렉토리에 기록됩니다. MongoDB에 해당 디렉토리에 필요한 권한을 어떻게 부여 할 수 있습니까?
답변
MongoDB가 데이터를 저장하는 데 사용하는 위치를 변경하려면 다음을 수행해야합니다.
- 원하는 경로로
/etc/mongodb.conf
줄dbpath=/var/lib/mongodb
을 편집 하고 변경하십시오 . 예 :dbpath=/home/user/data/mongodb
mongodb
사용자가 경로 에 쓸 수 있도록 선택한 경로의 권한을 업데이트하십시오 . 예 :chown $USER -R /home/user/data/mongodb
- 다음을 실행하여 MongoDB 서비스를 다시 시작하십시오.
sudo service mongodb restart
이전 위치에 유지하려는 데이터가 있으면 먼저 MongoDB 서비스를 중지하고 파일을 수동으로 이동 한 다음 서비스를 다시 시작해야합니다.
MongoDB 서버를 중지하려면 sudo service mongodb stop
답변
변경 사항을 적용하려면 데몬을 다시 시작해야합니다.
sudo service mongodb restart
답변
명령 행에서 mongodb를 시작하면 다음과 같은 --dbpath
인수를 사용할 mkdir mydata && mongod --dbpath mydata
수 있습니다 .
“file exist”또는 기타 문제와 관련된 문제가 발생할 수 있습니다 . 여기 에는 MongoDb의 알려진 제한 사항이 있습니다 . 디스크 드라이브를 변경하고 다시 문제가 없는지 테스트하십시오.
답변
오늘 같은 문제가 발생하여 다음 단계를 사용하여 문제를 해결했습니다.
-
mongod.conf 파일을 편집하고 dbPath 변수 값을 편집하십시오.
sudo -H gedit /etc/mongod.conf
-
그런 다음 mongod 서비스를 시작하려면 다음 명령을 사용하십시오.
sudo mongod --dbpath "your db path"
없이 위의 명령을 실행하려고 시도했지만
sudo
오류가 발생했습니다. 따라서sudo
명령을 실행하는 데 사용 하십시오.
답변
mv / var / lib / mongodb (데이터를 저장 한 디렉토리)를 / path 및 chown mondodb : mongodb / path (데이터를 저장하려는 디렉토리)에
/etc/mongod.conf를 편집하십시오
서비스 mongod 재시작 (연결할 수없는 경우, mongod.lock이없는 경우 / path를 점검하십시오.