2011-03-31 8 views
61

mongodump를 사용하여 mongodb 데이터베이스를 덤프했습니다. dump/mydbmongodump에서 덤프 된 데이터를 사용하는 방법은 무엇입니까?

에서 일부 bson 파일을 만들었지 만 사용 방법을 모르겠습니다. 나는 mongoimport을 시도했지만 bson 데이터를 가져올 수 없다. 그렇다면이 bson 파일을 사용하는 방법은 무엇입니까? 다른 몽고 밥으로 가져 오는 방법?

답변

60

JSON, 또는 CSV 등 back-up-with-mongodump 문서에서

는 :

mongodump는 MongoDB를 데이터베이스에서 데이터를 읽고 mongorestore 도구는 MongoDB의 데이터베이스를 채우는 데 사용할 수있는 고음질 BSON 파일을 만듭니다.

mongodumpmongorestore 작은 MongoDB를 배포을 를 백업 및 복원을위한 간단하고 효율적인 도구이지만, 더 큰 시스템의 캡처 백업에 적합하지 않습니다.

mongorestore에 대한 자세한 내용은 아래의 문서를 참조하십시오. 나는 그들이 매우 도움이되는 것에 따라 그들이 볼 것이고, 그들 위에서 읽힐 것이다.

http://www.mongodb.org/display/DOCS/Import+Export+Tools#ImportExportTools-mongorestore

는 또한 팁 http://learnmongo.com을 확인하고 도움이 될 수 있습니다!

6

mongorestore를 사용하십시오. mongoimport는 mongoexport의 출력에서 ​​작동합니다. 이진 데이터 파일에 & mongorestore 작업을 mongodump 동안 JSON, CSV 등의 가져 오기/내보내기 작업 .. (사람이 읽을 수있는 형식) 가져 오기 등의 작업에 사용됩니다 당신은 ... mongoimport하지 mongorestore를 사용할 필요가

36

매일 백업 및 복원에서 mongodump, mongorestore을 사용하고 있습니다.
이 첫째, 당신은 단지 호스트 데이터베이스 이름 및 백업 폴더를 지정할 필요가 백업을 위해 : 박쥐 파일 위

SET host=localhost:27020 
SET dbNameToDump=MyDB 
SET backupsFolder=Backups 

mongodump.exe --host %host% --db %dbNameToDump% 

SET date="%date:~10,4%-%date:~4,2%-%date:~7,2%.%time:~0,2%-%time:~3,2%" 
cd %backupsFolder% 
md %date% 

xcopy /e ..\dump %date% 

rmdir /s /q ..\dump 

을 쏟아 컬렉션과 폴더 백업에서이 2011-03-31.11-17(yyyy-MM-dd.hh-ss) 같은 이름의 폴더를 생성 지정에서 나는 두 .bat 파일이 데이터 베이스.

SET host=localhost:27020 
SET dbNameToRestore=MyDB 
SET restoreFolder=Restore 

mongorestore.exe --host %host% --db %dbNameToRestore% %restoreFolder% 

에서 : 내가 지정한 retore 사용

enter image description here

두 번째 박쥐 파일 (당신은 또한 덤프 파일을 데이터베이스 이름과 폴더를 지정해야합니다 여기에) 파일을 덤프 : 파일에서 그렇게 보이는 탐험가 파일 탐색기 :

추가에

enter image description here

, 내가 AU하는 창 일정을 사용하고 있습니다 백업 프로세스를 tomate하십시오.

위의 정보가 도움이 될 것입니다.이 문제를 해결하기 위해

+0

정말 유용했습니다. 몇 가지 추가 기능 (네트워크 공유에 백업)이 필요했습니다. https://gist.github.com/adamb0mb/7191353 – adamb0mb

+1

덤프에 안전하다고 생각되는 데이터의 양은 어느 정도입니까? mongo 문서에 따르면 '작은 데이터 세트'가 권장되지만 작은 정의 방법을 모르겠습니다. – hakunami

2

, 나는 MongoDB를의 bin 디렉토리로 덤프 폴더 (파일 bson 포함) DBDUMP을 복사하여 명령 프롬프트에서 다음 명령을 실행 : MongoDB에의 bin에

1. CD "경로를 폴더 "
(예 : CD를 C : \ 프로그램 파일 \ MongoDB를 \ 서버 3.2 \ 빈 \)

2. mongorestore.exe --dir ./directory 이름 --db 데이터베이스 이름
(예 : mongorestore --dir ./dbdump --db testdb)

덤프 폴더의 모든 bson 파일을 데이터베이스로 가져옵니다. 당신은 아래의 명령을 실행하여이 verfiy 수 있습니다
CD
mongo.exe
쇼 DBS "MongoDB를의 bin 폴더의 경로를"; 이전 답변에서 언급

3

으로, 당신은 mongorestore 대신 mongoimport사용해야합니다. 당신의 MongoDB를 실행할 때 이전의 답변을 추가,

mongorestore dump 

이 당신의 MYDB 데이터베이스에 모든 컬렉션을 가져옵니다, 덤프 디렉토리에서 덤프를 복원하려면 다음 명령을 실행합니다. 그러나 이것은 복원하기 전에 데이터베이스를 h 제하지 않습니다. 당신이 있는 mydb 디렉토리에 오기 전에

mongorestore --drop dump 

bson 파일을 데이터베이스를 삭제하려면 MYDB 데이터베이스 내부의 컬렉션으로 복원됩니다. mongorestore에 대한 자세한 내용은 here 문서를 확인하십시오.

+0

이상하다, 나는 당신의 대답을 upvote하려고 노력했지만 그것은 변하지 않았다. 어쨌든 mongorestore는 mongo shell이 ​​아닌 커맨드 라인에서 실행되어야합니다. – Donato

+0

아, 그렇습니다. –