몽고DB에서 mongodump를 사용하면 DB의 컨텐츠들을 내보낼 수 있습니다.
DB의 데이타를 백업할 때, DB의 내용을 분석하기 위해서 외부로 반출이 필요할 때 사용할 수 있는 기능입니다.
mongodump기능을 mongorestore와 함께 사용하면 DB를 백업하는 도구로도 사용이 가능합니다. 하지만 shared cluster나 replica sets 환경에서는 정상적으로 복구가 되지 않을 수 도 있으니 주의하여서 사용하여야 합니다.
(mongodb 백업에 관한 문서 : https://docs.mongodb.com/manual/core/backups/)
아래의 화면은 제가 mongoDB의 모든 db들을 백업한 화면입니다.
--out옵션을 통해서 tmp/mongodb 폴더에 저장이 되도록 하였습니다.
mongodump 옵션들은 --help 옵션을 통해서 확인이 가능합니다.
# mongodump --help
아래는 주로 사용되는 옵션들과 사용 예시입니다.
Collection 덤프 수집
mongodump --db test --collection collection
특정 collection을 제외한 덤프 수집
mongodump --db test --excludeCollection=users --excludeCollection=salaries
접속권한이 필요한 덤프 수집
mongodump --host mongodb1.example.net --port 37017 --username user --password "pass" --out /opt/backup/mongodump-2011-10-24
아카이브파일로 덤프파일 내보내기
mongodump --archive=test.20150715.archive --db test
아카이브를 Standard Output으로 출력
mongodump --archive --db test --port 27017 | mongorestore --archive --port 27018
* --archive 옵션은 --out 옵션과 함께 사용할 수 없습니다.
압축하여 덤프 수집
mongodump --gzip --db test
아카이브된 파일을 압축기능과 함께 사용
mongodump --archive=test.20150715.gz --gzip --db test
관련 문서: https://docs.mongodb.com/manual/reference/program/mongodump/
Q. 덤프수집시 아래와 같은 에러가 발생 할 경우.
Failed: error connecting to db server: server returned error on SASL authentication step: Authentication failed.
A. --authenticationDatabase 옵션을 통해서 접근권한이 있는 DB를 지정.
mongodump -u admin -p password --authenticationDatabase admin --db license-server --out /root/mongodump -v
'소프트웨어 > MongoDB' 카테고리의 다른 글
몽고DB(MongoDB) recover기능으로 복구하기 (0) | 2020.04.08 |
---|