MongoDB가 데이터를 저장하는 데 사용하는 위치를 변경하는 방법은 무엇입니까? 않았기 때문에 데이터는 여전히 기존 디렉토리에

MongoDB 구성 파일을 편집하여 데이터를에 저장했습니다 /home/user/data/mongod.

그러나 새 폴더에 대한 권한이 부여되지 않았기 때문에 데이터는 여전히 기존 디렉토리에 기록됩니다. MongoDB에 해당 디렉토리에 필요한 권한을 어떻게 부여 할 수 있습니까?



답변

MongoDB가 데이터를 저장하는 데 사용하는 위치를 변경하려면 다음을 수행해야합니다.

  1. 원하는 경로로 /etc/mongodb.confdbpath=/var/lib/mongodb을 편집 하고 변경하십시오 . 예 :dbpath=/home/user/data/mongodb
  2. mongodb사용자가 경로 에 쓸 수 있도록 선택한 경로의 권한을 업데이트하십시오 . 예 :chown $USER -R /home/user/data/mongodb
  3. 다음을 실행하여 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의 알려진 제한 사항이 있습니다 . 디스크 드라이브를 변경하고 다시 문제가 없는지 테스트하십시오.


답변

오늘 같은 문제가 발생하여 다음 단계를 사용하여 문제를 해결했습니다.

  1. mongod.conf 파일을 편집하고 dbPath 변수 값을 편집하십시오.

    sudo -H gedit /etc/mongod.conf
    
  2. 그런 다음 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를 점검하십시오.


답변