스냅샷에서 단일 데이터베이스 또는 컬렉션(또는 특정 문서)을 복원하려면 쿼리 가능 백업 사용하여 대상 배포서버로 복원할 단일 데이터베이스 또는 컬렉션을 내보낼 수 있습니다.
고려 사항
복원을 시도하기 전에 대상 배포서버의 호스팅하다에 복원 파일과 복원된 데이터베이스를 위한 충분한 저장 공간과 데이터 세트 확장을 위한 추가 공간이 있는지 확인합니다. db.stats() 를 사용하여 현재 데이터베이스 크기를 찾습니다.
중요
및 을(를)MongoDB Database Tools mongodump mongorestore포함하는 최신 버전의 를 사용하세요. 최신 버전의 mongosh 를 사용하세요.
이전 버전의 mongodump 에는 컬렉션 옵션의 키가 잘못된 순서로 덤프될 수 있는 문제가 포함되어 있습니다. 자세한 학습 은 TOOLS-3411를 참조하세요.
쿼리 가능 백업에서 데이터베이스 또는 컬렉션 복원
You can use a queryable backup snapshot to export data for a database or a collection and restore to the target deployment. The following procedure connects to the queryable backup instance via Cloud Manager-provided tunnel [1].
쿼리 가능한 스냅샷에 대한 백업 터널을 엽니다.
쿼리할 스냅샷을 선택하고 Next을 클릭합니다.
Start 스냅샷을 쿼리하는 프로세스. 2단계 인증을 요청하는 메시지가 표시됩니다.
Select Backup Tunnel as the connection method to the queryable snapshot. [1]
플랫폼을 선택하고 다운로드합니다.
다운로드한 파일의 압축을 풉니다.
참고
계속하기 전에 쿼리 가능 스냅샷이 마운트될 때까지 기다립니다. 스냅샷 마운트 시간은 스냅샷 의 크기에 따라 달라집니다. 스냅샷 이 마운트되었는지 확인하려면 다음을 수행합니다.
MongoDB Cloud Manager 에서 프로젝트 의 Continuous Backup 페이지로 Go 합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 원하는 프로젝트가 포함된 조직을 선택합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Projects 메뉴에서 원하는 프로젝트를 선택합니다.
사이드바에서 Database 제목 아래의 Continuous Backup를 클릭합니다.
연속 백업 페이지가 표시됩니다.
0}Restore History 탭을 선택합니다.
스냅샷 이 마운트되면 Status 열에 마운트 작업의 날짜와 시간이 보고됩니다.
터미널 또는 명령 프롬프트를 열고 압축되지 않은 <tunnel> 디렉토리로 이동합니다. 실행 파일을 실행하여 터널을 시작합니다.
터널의 기본 포트는
27017입니다. 포트를 변경하려면 다음 예와 같이--local플래그를 사용합니다../<tunnel executable> --local localhost:27020참고
포트를 변경하는 경우에는 연결 시 포트 정보를 반드시 포함시켜야 합니다.
쿼리 가능 백업에서 mongodump 를 사용하여 단일 데이터베이스 또는 컬렉션을 내보냅니다.
- 데이터베이스의 데이터를 내보내려면 다음을 수행합니다.
1터널[] 에 연결하려면
mongodump다음 옵션을 포함하세요.mongodump --port <port for tunnel> --db <single-database> --out <data-dump-path>- 컬렉션의 데이터를 내보내려면 다음을 따릅니다.
include the following options to connect to the tunnel [1]:
--port터널의 포트로 설정--db내보낼 데이터베이스의 이름으로 설정--collection단일 컬렉션.
mongodump --port <port for tunnel> \ --db <single-database> \ --collection <collection-name> \ --out <data-dump-path>예시
27020포트에서 실행되는 터널에 연결하여restaurants컬렉션의 데이터를test데이터베이스에서/mydata/restoredata/디렉토리로 덤프하려면 다음을 따릅니다.mongodump --port 27020 \ --db test \ --collection restaurants \ --out /mydata/restoredata/mongodump(은)는restaurants컬렉션 데이터를/mydata/restoredata/test/restaurants.bson파일에 출력합니다.
mongorestore 단일 데이터베이스 또는 컬렉션 을 복원 하려면 를 사용합니다.
- 단일 데이터베이스를 복원하려면 다음과 같이 하세요.
다음
mongorestore옵션을 포함합니다.대상 클러스터에 데이터베이스가 이미 있는 경우
--drop을 포함하여 데이터베이스를 제거하도록 선택할 수도 있습니다.
mongorestore --port <port> --db <destination database> <data-dump-path/database> --drop예를 들어 /mydata/restoredata/test 디렉터리에서 새 데이터베이스 restoredTest로 복원하려면 다음과 같이 하세요:
mongorestore --port 27017 --db restoredTest /mydata/restoredata/test --drop이 예시에서는 대상 복제본 세트의 프라이머리 또는 대상 샤딩된 클러스터의 mongos가 27017 포트에서 수신 대기한다고 가정합니다.
- 단일 컬렉션을 복원하려면 다음을 따릅니다.
다음
mongorestore옵션을 포함합니다.선택적으로 컬렉션이 이미 있는 경우 대상 클러스터에서 컬렉션을 제거하기 위해
--drop을 포함할 수 있습니다.
mongorestore --port <port> --db <destination database> --collection <collection-name> <data-dump-path/dbname/collection.bson> --drop예를 들어 /mydata/restoredata/test/restaurants.bson 데이터 파일에서 test2 데이터베이스의 새 컬렉션 rest2 로 복원하려면 다음과 같이 하세요:
mongorestore --port 27017 --db test2 --collection rest2 /mydata/restoredata/test/restaurants.bson --drop이 예시에서는 대상 복제본 세트의 프라이머리 또는 대상 샤딩된 클러스터의 mongos가 27017 포트에서 수신 대기한다고 가정합니다.
| [1] | (1, 2, 3, 4) Alternatively, instead of connecting via the tunnel, you can connect directly to the queryable backup, using the X.509 PEM files provided. If connecting directly to the queryable backup, you must specify the hostname and port, the TLS/SSL option, and the X.509 certificates. |
중요
AES256-GCM으로 암호화된 스냅샷을 복원한 후 마스터 키 순환
Cloud Manager가 AES256-GCM으로 암호화한 암호화된 스냅샷을 복원하는 경우, 복원을 완료한 후마스터 키를 순환시키십시오.