MongoDB의 데이터베이스를 백업이나 마이그레이션을 위해 사용하는 방법으로 몽고DB 툴인 mongoexport, mongoimport를 사용할 수 있습니다. 그리고 오늘 알아볼 mongodumpmongorestore가 있죠.

"mongodump와 mongorestore 알아보기"




# MongoDB의 mongodump 그리고 mongorestore 방법
이 두 가지 명령어는 MongoDB의 데이터베이스를 저장하거나 불러오기 위해서 사용됩니다. mongodump는 현재의 데이터베이스 정보를 내보내고 저장하는 명령어이고 mongorestore는 저장된 정보를 다시 불러와 읽을 수 있습니다.


! mongodump 알아보기
먼저 데이터베이스의 정보를 와부 및 파일로 저장하는 mongodump에 대하여 알아봅니다.

mongodump --db database_name --collection collection_name

데이터베이스의 컬렉션은 선택사항으로 값이 없는 경우 전체를 저장, 내보내게 됩니다. mongodump에 사용되는 옵션 정보는 아래와 같습니다.

--uri // uri 정보
--db  //  데이터베이스 이름
--collection  //  컬렉션 이름
--port  //  포트번호
--out  //  저장할 파일 및 경로 위치
--host  //  내보낼 외부 host정보


아래는 몇 가지 예제입니다.

@ 123.456.789.0 ip의 myDatabase를 myFilename으로 내보내는 경우
mongodump --host 123.456.789.0 --port 27017 --db myDatabase --out myFilename

mongodump --uri mongodb://123.456.789.0:27017 --db myDatabase --out myFilename

참고로 --out을 사용할 경우 bson 파일에 저장되게 됩니다. 이때 --out은 --archive와 함께 사용할 수 없습니다.


gzip으로 mongodump 내보내기
만약 gzip으로 저장하여 내보내려는 경우 --out이 아닌 --archive만 사용해야합니다.
mongodump --uri mongodb://123.456.789.0:27017 --db myDatabase --archive=myFilename

다음으로 mongorestore에 대하여 알아봅니다.


! mongorestore 알아보기
MongoDB 툴인 mongodump를 사용한 경우 mongorestore를 사용하여 다시 import 불러올 수 있습니다. 이 경우 사용 방법은 아래와 같습니다.
mongorestore --db myDatabase myFilename

mongorestore --db myDatabase --port 27017 myFilename

방법은 mongodump와 비슷합니다. 데이터베이스와 경로 및 파일이름을 사용합니다.


gzip 파일을 사용하여 mongorestore 불러오기
mongorestore --gzip --db myDatabase --archive=myFilename.gz

이제 myFilename.gz에 저장된 데이터베이스 정보가 myDatabase에 import됩니다.


여기까지 MongoDB의 mongodump와 mongorestore에 대하여 알아봤습니다.