MongoDB가 데이터를 저장하는 데 사용하는 위치를 변경하는 방법은 무엇입니까?


13

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

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


1
구성을 어떻게 편집 했습니까? 권한에 문제가 있다고 생각하는 이유는 무엇입니까? Mongo가 오류를 발생시키는 대신 기본 디렉토리를 사용한다고 생각하는 이유는 무엇입니까? (이것은 묻는 방법입니다 : 오류 로그 파일을 확인하셨습니까?)
Andrea Corbellini

답변:


29

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


어떤 파일을 이동해야합니까?
chovy

@chovy 저장소 디렉토리의 파일.
David Edwards

/var/lib/mongodb
chovy의

@chovy 그렇다면 데이터가 있다면 삭제하고 이동할 수있는 파일이 없을 것입니다.
David Edwards

그래, 괜찮아 나는 그것을 저장할 필요가 없었습니다. 내가 거기에 필요한 비 데이터 파일이 있는지 확실하지 않았습니다. 분명하지가 작동하는 것 같다 때문에 여전히
chovy

1

변경 사항을 적용하려면 데몬을 다시 시작해야합니다.

sudo service mongodb restart

Ti는 악마를 다시 시작합니다. 구식 : "etc / init.d / mongodb restart", 새로운 방법 : "sudo service mongodb restart"
Cyril ALFARO

1
해당 정보를 포함하도록 답변을 편집하는 것이 좋습니다.
Eliah Kagan

1

명령 행에서 mongodb를 시작하면 다음과 같은 --dbpath인수를 사용할 mkdir mydata && mongod --dbpath mydata 수 있습니다 . "file exist"또는 기타 문제와 관련된 문제가 발생할 수 있습니다 . 여기 에는 MongoDb의 알려진 제한 사항이 있습니다 . 디스크 드라이브를 변경하고 다시 문제가 없는지 테스트하십시오.


1

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

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

    sudo -H gedit /etc/mongod.conf
    
  2. 그런 다음 mongod 서비스를 시작하려면 다음 명령을 사용하십시오.

    sudo mongod --dbpath "your db path"
    

    없이 위의 명령을 실행하려고 시도했지만 sudo오류가 발생했습니다. 따라서 sudo명령을 실행하는 데 사용 하십시오.


0

mv / var / lib / mongodb (데이터를 저장 한 디렉토리)를 / path 및 chown mondodb : mongodb / path (데이터를 저장하려는 디렉토리)에

/etc/mongod.conf를 편집하십시오

서비스 mongod 재시작 (연결할 수없는 경우, mongod.lock이없는 경우 / path를 점검하십시오.


그것의 mongodb : mongodb 같아요 .. !!
Lakshman Pilaka
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.