MySQL과 같은 targzip mongo 덤프
MySQL 덤프로 할 수 있는 것처럼 mongo 덤프를 대상으로 하는 방법이 있습니까?
예를 들어 mysqdump의 경우 다음과 같은 명령을 작성할 수 있습니다.
mysqldump -u <username> --password=<password> --all-databases | gzip > all-databases.`date +%F`.gz
몽고 덤프에 대해 동일한 방법이 있습니까?
mongo 덤프의 경우 다음 명령을 실행합니다.
mongodump --host localhost --out /backup
그냥 gzip에 파이프로 연결할 수 있는 방법이 있습니까?노력했지만 소용이 없었어요.
아이디어 있어요?
버전 3.2가 도입gzip
그리고.archive
옵션:
mongodump --db <yourdb> --gzip --archive=/path/to/archive
그런 다음 다음을 사용하여 복원할 수 있습니다.
mongorestore --gzip --archive=/path/to/archive
업데이트(2015년 7월):TOOLS-675는 이제 완료로 표시되어 3.2에서 아카이브 형식으로 덤프할 수 있으며 gzip은 3.2 버전의 옵션 중 하나가 됩니다.mongodump/mongorestore
도구. 3.2가 실행되는 대로 관련 문서에 업데이트하겠습니다.
원답(3.0 이하):
출력을 통해 단일 수집으로 이 작업을 수행할 수 있습니다.mongodump
로.stdout
그런 다음 압축 프로그램(gzip, bzip2)으로 파이핑하지만 데이터만 얻을 뿐(인덱스 정보 없음) 현재로서는 전체 데이터베이스(복수 컬렉션)에 대해 데이터를 얻을 수 없습니다.이 기능에 대한 관련 기능 요청은 업데이트/관찰 목적으로 SERVER-5190입니다.
다음은 다음을 사용하여 가능한 것에 대한 간단한 샘플 실행입니다.bzip2
이 예에서는 다음을 수행합니다.
./mongo
MongoDB shell version: 2.6.1
connecting to: test
> db.foo.find()
{ "_id" : ObjectId("53ad8a3eb74b5ae2ff0ec93a"), "a" : 1 }
{ "_id" : ObjectId("53ad8ba445be9c4f7bd018b4"), "a" : 2 }
{ "_id" : ObjectId("53ad8ba645be9c4f7bd018b5"), "a" : 3 }
{ "_id" : ObjectId("53ad8ba845be9c4f7bd018b6"), "a" : 4 }
{ "_id" : ObjectId("53ad8baa45be9c4f7bd018b7"), "a" : 5 }
>
bye
$ ./mongodump -d test -c foo -o - | bzip2 - > foo.bson.bz2
connected to: 127.0.0.1
$ bunzip2 foo.bson.bz2
$ ./bsondump foo.bson
{ "_id" : ObjectId( "53ad8a3eb74b5ae2ff0ec93a" ), "a" : 1 }
{ "_id" : ObjectId( "53ad8ba445be9c4f7bd018b4" ), "a" : 2 }
{ "_id" : ObjectId( "53ad8ba645be9c4f7bd018b5" ), "a" : 3 }
{ "_id" : ObjectId( "53ad8ba845be9c4f7bd018b6" ), "a" : 4 }
{ "_id" : ObjectId( "53ad8baa45be9c4f7bd018b7" ), "a" : 5 }
5 objects found
그것을 스트레이트와 비교해 보세요.mongodump
(같은 foo.bson을 얻지만 인덱스를 설명하는 추가 foo.bson은 위에 포함되지 않습니다.)
$ ./mongodump -d test -c foo -o .
connected to: 127.0.0.1
2014-06-27T16:24:20.802+0100 DATABASE: test to ./test
2014-06-27T16:24:20.802+0100 test.foo to ./test/foo.bson
2014-06-27T16:24:20.802+0100 5 documents
2014-06-27T16:24:20.802+0100 Metadata for test.foo to ./test/foo.metadata.json
$ ./bsondump test/foo.bson
{ "_id" : ObjectId( "53ad8a3eb74b5ae2ff0ec93a" ), "a" : 1 }
{ "_id" : ObjectId( "53ad8ba445be9c4f7bd018b4" ), "a" : 2 }
{ "_id" : ObjectId( "53ad8ba645be9c4f7bd018b5" ), "a" : 3 }
{ "_id" : ObjectId( "53ad8ba845be9c4f7bd018b6" ), "a" : 4 }
{ "_id" : ObjectId( "53ad8baa45be9c4f7bd018b7" ), "a" : 5 }
5 objects found
Mongodbas 내보내기
mongodump --host <host-ip> --port 27017 --db <database> --authenticationDatabase admin --username <username> --password <password> --gzip --archive > dump_`date "+%Y-%m-%d"`.gz
다음으로 가져오기
mongodump --host <host-ip> --port 27017 --db <database> --authenticationDatabase admin --username <username> --password <password> --gzip --archive=mongodump.gz
MongoDB 복제 세트 클러스터에 대해 URI를 전달하려는 경우
덤프:
mongodump --uri='mongodb://user:pass@primary_host,secondary_host/<db-name>?replicaSet=<replica-name>&authSource=admin' --gzip --archive > dump_`date "+%Y-%m-%d"`.gz
복원:
mongorestore --uri='mongodb://user:pass@primary_host,secondary_host/<db-name>?replicaSet=<replica-name>&authSource=admin' --gzip --archive=<dump-file>.gz
언급URL : https://stackoverflow.com/questions/24439068/tar-gzip-mongo-dump-like-mysql
'itsource' 카테고리의 다른 글
--save와 --save-dev의 차이점은 무엇입니까? (0) | 2023.05.22 |
---|---|
Mongo에서 컬렉션의 인덱스를 표시하려면 어떻게 해야 합니까? (0) | 2023.05.22 |
일반 클래스 또는 메서드의 멤버로부터 T 유형을 가져오는 방법 (0) | 2023.05.22 |
일상적인 사용을 위해 zsh로 전환할 가치가 있습니까? (0) | 2023.05.22 |
Git 푸시 결과가 "인증 실패"로 표시됨 (0) | 2023.05.22 |