경고
대소문자를 구분하지 않는 파일 시스템 (예: Windows 또는 macOS)에 덤프할 때 대소문자만 다른 이름을 가진 컬렉션은 덮어쓰기 됩니다. 대소문자를 구분하지 않는 파일 시스템의 경우 항상 --archive 옵션을 사용하세요.
경고
필드에 $ 접두사가 있는 데이터 덤프 및 복원 충돌
MongoDB 5.0 부터 문서 필드 이름 앞에 달러 문자($)를 붙일 수 있습니다. 그러나 mongodump 및 mongorestore 는 컬렉션 옵션에서 달러 문자가 접두사로 붙은 필드 이름에서는 작동하지 않습니다.
MongoDB 확장 JSON (v)은(는)2 유형 래퍼와 유형 래퍼와 이름이 같은 필드를 구분할 수 없습니다. 해당 BSON 표현에 $ 접두사가 붙은 키가 포함될 수 있는 경우 확장 JSON 형식을 사용하지 마세요. DBRefs 메커니즘은 이 일반 규칙의 예외입니다.
행동
없이 사용 mongodump authSource
authSource MongoDB URI에 가 지정되지 않은 경우, 에 지정된 데이터베이스 --db 이름은 mongodump 세션을 인증하고 덤프할 데이터베이스 나타내는 데 모두 사용됩니다. 를 사용할 때 인증 mongodump 에 다른 데이터베이스 사용하는 예시 는 특정데이터베이스로 인증하기를 참조하세요.
일치하는 서버 버전으로 복원
mongorestore(을)를 사용하여 mongodump(으)로 생성된 데이터 파일을 로드하는 경우 소스 및 대상 배포의 MongoDB 버전은 다음 중 하나여야 합니다.
동일한 주요 버전.
동일한 기능 호환성 버전.
예를 들어 덤프가 버전 4.4을 실행하는 MongoDB deployment에서 생성된 경우, 복원하는 MongoDB deployment도 버전 4.4를 실행하거나 해당 FCV가 4.4로 설정되어 있어야 합니다.
기능 호환성 버전 변경하려면 를 setFeatureCompatibilityVersion 참조하세요.
참고
mongodump에서 생성된 BSON 파일을 소스 배포와 동일하거나 더 최신 버전을 실행하는 MongoDB 배포로 복원할 수 있습니다. 그러나 파일을 최신 버전 배포로 복원하는 것은 배포를 업그레이드하는 권장 방법이 아닙니다. 배포를 업그레이드하는 방법을 알아보려면 업그레이드 문서를 참조하세요.
이 보장은 메타데이터, 아카이브 또는 oplog 리플레이 파일에는 적용되지 않습니다. 다른 소스 및 대상 배포 버전을 사용하여 이러한 파일을 복원하려고 하면 mongorestore 프로세스가 실패하거나, 조용히 실패하거나 메타데이터 손상이 발생할 수 있습니다.
또한 데이터 파일을 생성할 때 사용한 mongodump 버전과 동일한 버전의 mongorestore를 사용하여 데이터 파일을 로드하고 있는지 확인하세요. 실제로는 다른 버전의 mongorestore를 사용해도 괜찮지만, 버전 간에 덤프 형식이 변경되면 복원 실패하거나 데이터가 잘못 복원 수 있습니다. 예시 를 들어 mongodump 버전 100.19.0를 사용하여 덤프를 생성하는 경우, mongorestore 버전 100.19.0을 사용하여 복원 .
Time Series 컬렉션
MongoDB. 배포서버 에서 시계열 컬렉션을 덤프하려면 90 데이터베이스 100 도구.. 이상을16 사용합니다. 이전 데이터베이스 도구 버전에서는 시계열 버킷 네임스페이스를 직접 읽지만, MongoDB. 에서는 이를0 9 0 허용하지 않습니다. 이전 데이터베이스 도구 버전을 사용하는mongodump 경우 CommandNotSupportedOnLegacyTimeseriesBucketsNamespace 가 오류와 함께 중단됩니다. 이 오류를 해결하려면 최신 데이터베이스 도구 버전으로 업그레이드 .
mongodump이 time series 컬렉션을 읽는 동안 time series 형식 변환이 시작되면 작업이 InterruptedDueToTimeseriesUpgradeDowngrade 오류로 실패합니다. 덤프가 잘리거나 손상되지 않습니다. 오류를 해결하려면 기능 호환성 버전(기능 호환성 버전)의 변경이 완료될 때까지 기다린 후 mongodump를 다시 실행합니다. 변환에 대해 자세히 알아보려면 Time Series 형식 변환을 통한 oplog 재생을 참조하세요.
읽기 설정
기본적으로 mongodump은 읽기 설정 (read preference) primary을 사용합니다. 기본값을 재정의하려면 명령줄 --readPreference 옵션 또는 에서 읽기 설정 (read preference) 을 지정할 수 --uri connection string 있습니다.
읽기 설정이 URI string과 --readPreference 옵션 모두에 지정된 경우에는 --readPreference 값이 URI string에 지정된 읽기 설정을 재정의합니다.
데이터 배제
--db } 옵션과 --collection 옵션을 모두 지정하면 mongodump 이(가) 지정된 컬렉션 을 덤프합니다.
--db 옵션만 지정하면 mongodump는 다음 제외 사항을 사용하여 해당 데이터베이스를 덤프합니다.
--db의 값이admin인 경우:Atlas 프록시에 연결되어 있지 않은 경우
mongodump는 데이터베이스를 덤프하지만system.keys컬렉션은 제외합니다.Atlas 프록시에 연결된 경우
mongodump는 데이터베이스를 덤프하려고 시도하지만 오류가 발생합니다.
--db값이config이면mongodump는 해당 데이터베이스의 모든 컬렉션을 덤프합니다.--db값이local이면mongodump는 해당 데이터베이스의 모든 컬렉션을 덤프합니다.다른 모든 데이터베이스의 경우
mongodump는system.js를 제외하고system.로 시작하는 모든 컬렉션을 제외합니다.
--db 옵션을 생략하면 다음 제외 사항이 적용됩니다.
mongodumplocal데이터베이스를 제외합니다.mongodumpconfig데이터베이스의 출력에 다음 컬렉션만 포함합니다.chunkscollectionsdatabasessettingsshardstagsversion
Atlas 프록시에 연결되어 있는 경우
mongodump은(는)admin데이터베이스 를 제외합니다.
mongodump 출력:
데이터베이스의 문서와 인덱스 정의가 포함되어 있습니다.
인덱스 데이터를 포함하지 않습니다.
mongorestore 또는 는 데이터 복원 후 인덱스를 다시 작성해야 mongod 합니다.
뷰를 사용하는 경우:
뷰의 문서를 내보내려면
--viewsAsCollections를 사용합니다.
Metadata Output
mongodump 가 디렉토리로 출력하는 경우 출력에는 다음 속성을 비롯한 컬렉션 메타데이터가 포함됩니다.
컬렉션 이름
컬렉션 유형
컬렉션 구성 옵션
UUID
Indexes
mongodump가 표준 출력(stdout)으로 출력하는 경우 출력에는 메타데이터가 포함되지 않습니다. 자세한 내용은 --out 옵션을 참조하세요.
메타데이터 형식
mongodump 메타데이터 파일에 확장 JSON2 v.0 (Canonical) 형식을 사용합니다. 복원 위해 이러한 파일을 구문 분석하려면 mongorestore Extended JSON v.2 0 (Canonical 또는 Relaxed 모드) 형식을 지원하는 를 사용합니다.
파일 덮어쓰기
mongodump 백업 데이터 폴더에 출력 파일이 있는 경우 해당 출력 파일을 덮어씁니다. mongodump 명령을 여러 번 실행 하기 전에 출력 폴더( 기본값 은 dump/ 폴더)의 파일이 더 이상 필요하지 않은지 확인하거나 폴더 또는 파일의 이름을 변경하세요.
mongodump 리샤딩 중 mongodump
mongodump 다음의 경우 실패합니다.
mongodump리샤딩 작업 이 진행 중일 때 시작됩니다.reshardCollection명령은mongodump작업 중에 실행 됩니다.
데이터 압축 처리
WiredTiger 스토리지 엔진 사용하는 인스턴스 에서 실행 하면 는 mongod mongodump 압축되지 않은 데이터를 출력합니다.
작업 세트
mongodump mongod 의 성능에 부정적인 영향을 미칠 수 있습니다. 데이터가 시스템 메모리보다 큰 경우 mongodump 는 작업 세트 를 메모리 밖으로 밀어냅니다.
FIPS
mongodump FIPS 모드 를 사용하도록 구성된 mongod 또는 mongos 에 대한 FIPS 호환 연결을 자동으로 생성합니다.
Atlas 무료 및 공유 계층 클러스터에서 mongodump 사용
무료(M0) 및 공유(M2 및 M5) 계층 Atlas 클러스터에는 다음과 같은 제한 사항이 적용됩니다.
admin데이터베이스에서mongodump를 실행할 수 없습니다. 기본적으로mongodump는 이 데이터베이스를 건너뜁니다.--db옵션을 사용하여 대상 데이터베이스를admin으로 설정하면 프로그램에서 오류를 반환합니다.mongodump프로그램에서 다음 옵션을 사용할 수 없습니다.
필요한 액세스 권한
액세스 제어가 mongodump 활성화된 MongoDB deployment 대해 를 실행 하려면 백업할 각 데이터베이스 에 대해 backup 조치 수행할 find 수 있는 권한이 있어야 합니다. 내장 역할 모든 데이터베이스의 백업 수행하는 데 필요한 권한을 제공합니다.
백업 전략에서의 사용
독립형 배포 및 복제 세트
독립형 또는 복제본 세트 의 경우 은 쿼리 기반으로mongodump 하는 부분 백업을 위해 을 사용하여 백업 전략의 일부가 될 수 있으며,mongorestore 프로덕션 환경에서 스테이징 또는 개발 환경으로 동기화하거나 독립형 의 스토리지 엔진 변경할 수 있습니다.
백업 및 복구 전략의 일환으로 mongodump 을(를) mongorestore 와(과) 함께 사용하는 방법에 대한 자세한 내용은 다음을 참조하세요.
샤딩된 클러스터
mongodump 및 mongorestore 를 샤드 클러스터의 백업 전략으로 사용하려면 데이터베이스 덤프를 사용하여 자체 관리형샤딩된 클러스터 백업을 참조하세요.
또한 샤드 클러스터는 다음과 같은 조정된 백업 및 복원 프로세스 중 하나를 사용할 수 있으며, 이는 쓰기를 계속 허용하면서 샤드 전체의 원자성을 보장합니다.