[MONGODB] MongoDB의 데이터 저장소 디렉토리를 변경
MONGODBMongoDB의 데이터 저장소 디렉토리를 변경
지금까지 나는 MongoDB의 데이터 디렉토리를 지정하지 않은 단 하나의 30기가바이트 주 파티션 있었다.
난 그냥 공간이 부족하고 새 하드 디스크를 추가했습니다. 어떻게 내 데이터를 전송할 수 있습니다 (즉 외관상로 / var / lib / MongoDB를 /) 및 구성 MongoDB를 그래서 모든 것이 내 기존 설치에 영향을주지 않고 새 디스크의 도망?
해결법
-
==============================
1.짧은 대답하여 MongoDB에서 --dbpath 매개 변수는 디렉토리 MongoDB를 읽고에서의 데이터를 기록을 제어 할 수 있다는 것입니다.
짧은 대답하여 MongoDB에서 --dbpath 매개 변수는 디렉토리 MongoDB를 읽고에서의 데이터를 기록을 제어 할 수 있다는 것입니다.
MongoDB를 시작하고 / usr / 지방 / MongoDB의 데이터에있는 파일을 둘 것입니다.
배포 및 MongoDB를 설치에 따라 자동으로이 작업을 수행 할 mongod.conf 파일을 구성 할 수 있습니다 :
# Store data in /usr/local/var/mongodb instead of the default /data/db dbpath = /usr/local/var/mongodb
시작시 공식 10gen 리눅스 패키지 (우분투 / 데비안이나 CentOS는 / 페도라) /etc/mongodb.conf에 배치 된 기본 구성 파일을 함께 제공하고 MongoDB의 서비스는이를 읽습니다. 현재 변경 사항을 만들 수 있습니다.
-
==============================
2.이분의 다운 타임을 해결 :) 그냥 폴더를 이동 심볼릭 링크, 후 조정 권한을 추가합니다.
이분의 다운 타임을 해결 :) 그냥 폴더를 이동 심볼릭 링크, 후 조정 권한을 추가합니다.
sudo service mongod stop sudo mv mongodb /new/disk/mongodb/ sudo ln -s /new/disk/mongodb/ /var/lib/mongodb sudo chown mongodb:mongodb /new/disk/mongodb/ sudo service mongod start # test if mongodb user can access new location: sudo -u mongodb -s cd /new/disk/mongodb/ # resolve other permissions issues if necessary sudo usermod -a -G <newdisk_grp> mongodb
-
==============================
3.당신이 기본 경로를 변경하려면 다음과 같은 명령은 당신을 위해 작동합니다. 그냥 MongoDB를의 빈 디렉토리에이를 입력합니다.
당신이 기본 경로를 변경하려면 다음과 같은 명령은 당신을 위해 작동합니다. 그냥 MongoDB를의 빈 디렉토리에이를 입력합니다.
mongod --dbpath=yourdirectory\data\db
경우에 당신은 당신이 명령을 실행하기 전에 다음 단지 새로운 디렉토리에 기존 데이터 \ db 디렉토리에서 모든 폴더를 복사도 기존 데이터를 이동하려는.
또한 정지 실행하는 MongoDB의 서비스를 기존.
-
==============================
4.당신이 그것을 해달라고하면 MongoDB를 폴더에 mongod.cfg라는 파일을 만듭니다. 나의 경우에는: C : \ 사용자 \ ivanbtrujillo \ MongoDB를
당신이 그것을 해달라고하면 MongoDB를 폴더에 mongod.cfg라는 파일을 만듭니다. 나의 경우에는: C : \ 사용자 \ ivanbtrujillo \ MongoDB를
그런 다음, 메모장 편집 mongod.cfg하고 다음 (우리의 사용자 정의 DBPATH)와 줄을 추가 :
dbpath=C:\Users\ivanbtrujillo\MongoDB\data\db
이 파일에서 당신은 너무 로그 경로를 지정해야합니다. 내 mongod.cfg 파일은 다음과 같습니다
logpath=C:\Users\ivanbtrujillo\MongoDB\log\mongo.log dbpath=C:\Users\ivanbtrujillo\MongoDB\data\db
당신이 Windows 서비스로 MongoDB를를 사용하는 경우,이 키를 변경하고 mongod.cfg 파일을 especify해야합니다.
이 명령을 실행하여 Windows 서비스로하여 MongoDB를 설치하려면 :
**"C:\Users\ivanbtrujillo\MongoDB\bin\mongod.exe" --config "C:\Users\ivanbtrujillo\MongoDB\mongod.cfg" –install**
다음 행 노선의 열기에 regedit.exe 및 이동 :
HKEYLOCALMACHINE\SYSTEM\CurrentControlSet\services\MongoDB
MongoDB의 서비스는 우리가 편집에 ImagePath를 키가 아니라 작업의 내용을 삭제하고 다음을 넣어 않습니다 :
**"C:\Users\ivanbtrujillo\MongoDB\bin\mongod.exe" --config "C:\Users\ivanbtrujillo\MongoDB\mongod.cfg" --logpath="C:\Users\ivanbtrujillo\MongoDB\log\mongo.log" –service**
우리는의 config 파일과를 logpath을 몽고을 나타냅니다.
당신은 MongoDB의 서비스를 초기화하기 때 그런 다음, 그것을 작동합니다.
다음은 Windows에서 MongoDB를 설치하는 전체 튜토리얼은 다음과 같습니다 http://ivanbtrujillo.herokuapp.com/2014/07/24/installing-mongodb-as-a-service-windows/
희망이 도움이,
-
==============================
5.은 / var / lib 디렉토리 / MongoDB를에 / 데이터 / DB의 내용을 복사합니다. 숫자가 0으로 시작됩니다 여기서 n 당신이 당신의 파일 시스템에서 검색,은 / var / lib 디렉토리 / MongoDB를 아래에 이러한 파일이 표시되지 않는 경우 당신이 찾고해야하는 파일은 your_db_name.ns 및 your_dbname.n 같은 이름이 있어야합니다.
은 / var / lib 디렉토리 / MongoDB를에 / 데이터 / DB의 내용을 복사합니다. 숫자가 0으로 시작됩니다 여기서 n 당신이 당신의 파일 시스템에서 검색,은 / var / lib 디렉토리 / MongoDB를 아래에 이러한 파일이 표시되지 않는 경우 당신이 찾고해야하는 파일은 your_db_name.ns 및 your_dbname.n 같은 이름이 있어야합니다.
복사 후 사용 --dbpath = / 데이터 / DB mongod 명령을 통해 MongoDB를 시작할 때.
-
==============================
6.여기에 내가 무슨 짓을했는지, 그것은 다른 사람에게 도움이 희망 :
여기에 내가 무슨 짓을했는지, 그것은 다른 사람에게 도움이 희망 :
단계 :
당신이 Especialy는 RF RM은에,이 작업을 수행하지만이 그것을 할 수있는 최선의 방법이라고 생각 할 때 조심해야한다 말할 필요가 없습니다.
그것에서 읽기 쓰기 / 데이터베이스의 내용을 변경됩니다 서비스가있을 수 있습니다 때문에, mongod이 실행되는 동안 데이터베이스 디렉토리를 복사하려고해서는 안됩니다.
-
==============================
7.를 통해 설치 한 경우 대한 Chown -R MongoDB를하는 것을 잊지 마세요, 우분투 12.04에있는 apt-get : nogroup / 경로 /로 / 새 / 디렉토리. 또한 /etc/mongodb.conf에서 구성을 변경.
를 통해 설치 한 경우 대한 Chown -R MongoDB를하는 것을 잊지 마세요, 우분투 12.04에있는 apt-get : nogroup / 경로 /로 / 새 / 디렉토리. 또한 /etc/mongodb.conf에서 구성을 변경.
는 config 스크립트가 /etc/init/mongodb.conf에 있도록 알림으로, MongoDB를-10gen 패키지는 이제 신출내기를 통해 시작된다
난 그냥이 겪었, 희망 명의 Google 찾으 유용합니다 :)
-
==============================
8.사용자 대신하여 MongoDB의 mongod한다
사용자 대신하여 MongoDB의 mongod한다
sudo는 대한 Chown mongod : mongod /를 newLocation
서비스가 실패 할 경우 오류에 대한 로그를 볼 수 있습니다 -
/var/log/mongodb/mongod.log
-
==============================
9.데비안 / 우분투, 당신은 편집에 /etc/init.d/mongodb 스크립트가 필요합니다. 정말,이 파일은 /etc/mongodb.conf에서 설정을 당겨해야 하지만 기본 디렉토리 (아마도 버그)를 당겨하지 않는 것
데비안 / 우분투, 당신은 편집에 /etc/init.d/mongodb 스크립트가 필요합니다. 정말,이 파일은 /etc/mongodb.conf에서 설정을 당겨해야 하지만 기본 디렉토리 (아마도 버그)를 당겨하지 않는 것
이 해킹의 비트이지만, 스크립트에 이러한 추가는 제대로 시작했다 :
더하다:
DBDIR=/database/mongodb
변화:
DAEMON_OPTS=${DAEMON_OPTS:-"--unixSocketPrefix=$RUNDIR --config $CONF run"}
에:
DAEMON_OPTS=${DAEMON_OPTS:-"--unixSocketPrefix=$RUNDIR --dbpath $DBDIR --config $CONF run"}
from https://stackoverflow.com/questions/5961145/changing-mongodb-data-store-directory by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] MongoDB를 로컬 서버를 시작할 수 없습니다 (0) | 2019.12.05 |
---|---|
[MONGODB] 어떤 수준에 쓰기에 MongoDB를 잠금을합니까? (나 : 그것은 "연결 당"에 의해 무엇을 의미 하는가 (0) | 2019.12.05 |
[MONGODB] 배열 필드가 비어 있지 않은 경우 MongoDB를 기록 찾기 (0) | 2019.12.05 |
[MONGODB] 어떻게 MongoDB를 함께 Elasticsearch를 사용 하는가? (0) | 2019.12.05 |
[MONGODB] 산드 대 MongoDB를 [폐쇄] (0) | 2019.12.05 |