Docs Menu
Docs Home
/
MongoDB Database Tools
/

mongodump 동작, 액세스, 사용

이 페이지의 내용

  • 행동
  • 필요한 액세스 권한
  • 백업 전략에서의 사용
  • 자세히 알아보기

경고

Windows 또는 macOS와 같이 대소문자를 구분하지 않는 파일 시스템에 덤프하는 경우 대소문자만 다른 이름을 가진 컬렉션은 덮어쓰여집니다. 대소문자를 구분하지 않는 파일 시스템의 경우 항상 --archive 옵션을 사용하세요.

경고

필드에 $ 접두사가 있는 데이터 덤프 및 복원 충돌

MongoDB 5.0 부터 문서 필드 이름 앞에 달러 문자($)를 붙일 수 있습니다. 그러나 mongodumpmongorestore 은 컬렉션의 옵션에서 달러 문자 접두사가 붙은 필드 이름에서는 작동하지 않습니다.

MongoDB 확장 JSON (v2) 은 유형 래퍼와 유형 래퍼와 이름이 같은 필드를 구분할 수 없습니다. 해당 BSON 표현에 $ 접두사가 붙은 키가 포함될 수 있는 경우 확장 JSON 형식을 사용하지 마세요. DBRefs 메커니즘은 이 일반 규칙의 예외입니다.

MongoDB URI에 authSource 이(가) 지정되지 않은 경우, --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를 사용하여 데이터 파일을 로드하고 있는지 확인하세요. 예를 들어 mongodump 버전 100.10.0를 사용하여 덤프를 생성한 경우 mongorestore 버전 100.10.0를 사용하여 복원합니다.

기본값 으로 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는 해당 데이터베이스의 모든 컬렉션을 덤프합니다.

  • 다른 모든 데이터베이스의 경우 mongodumpsystem.js 를 제외하고 system. 로 시작하는 모든 컬렉션을 제외합니다.

--db 옵션을 생략하면 다음 제외 사항이 적용됩니다.

  • mongodump local 데이터베이스를 제외합니다.

  • mongodump config 데이터베이스의 출력에 다음 컬렉션만 포함합니다.

    • chunks

    • collections

    • databases

    • settings

    • shards

    • tags

    • version

  • Atlas 프록시에 연결되어 있는 경우 mongodump 은(는) admin 데이터베이스 를 제외합니다.

mongodump 출력:

  • 데이터베이스의 문서와 인덱스 정의가 포함되어 있습니다.

  • 인덱스 데이터를 포함하지 않습니다.

mongorestore 또는 mongod 는 데이터 복원 후 인덱스를 다시 작성해야 합니다.

를 사용하는 경우:

mongodump 가 디렉토리로 출력하는 경우 출력에는 다음 속성을 비롯한 컬렉션 메타데이터가 포함됩니다.

  • 컬렉션 이름

  • 컬렉션 유형

  • 컬렉션 구성 옵션

  • UUID

  • Indexes

mongodump가 표준 출력(stdout)으로 출력하는 경우 출력에는 메타데이터가 포함되지 않습니다. 자세한 내용은 --out 옵션을 참조하세요.

mongodump 메타데이터 파일에 Extended JSON v2.0 (Canonical) 형식을 사용합니다. 복원을 위해 이러한 파일을 구문 분석하려면 확장 JSON v2 를 지원하는 mongorestore 를 사용합니다.0 (표준 또는 완화 모드) 형식입니다.

mongodump 백업 데이터 폴더에 출력 파일이 있는 경우 해당 출력 파일을 덮어씁니다. mongodump 명령을 여러 번 실행 하기 전에 출력 폴더( 기본값 은 dump/ 폴더)의 파일이 더 이상 필요하지 않은지 확인하거나 폴더 또는 파일의 이름을 변경하세요.

mongodump 다음의 경우 실패합니다.

WiredTiger 스토리지 엔진 을 사용하는 mongod 인스턴스 에서 실행 하면 mongodump 는 압축되지 않은 데이터를 출력합니다.

mongodump mongod 의 성능에 부정적인 영향을 미칠 수 있습니다. 데이터가 시스템 메모리보다 큰 경우 mongodump 는 작업 세트 를 메모리 밖으로 밀어냅니다.

mongodump FIPS 모드 를 사용하도록 구성된 mongod 또는 mongos 에 대한 FIPS 호환 연결을 자동으로 생성합니다.

무료(M0) 및 공유(M2M5) 계층 Atlas 클러스터에는 다음과 같은 제한 사항이 적용됩니다.

  • admin 데이터베이스에서 mongodump를 실행할 수 없습니다. 기본적으로 mongodump는 이 데이터베이스를 건너뜁니다. --db 옵션을 사용하여 대상 데이터베이스를 admin으로 설정하면 프로그램에서 오류를 반환합니다.

  • mongodump 프로그램에서 다음 옵션을 사용할 수 없습니다.

액세스 제어 가 활성화된 MongoDB deployment 에 대해 mongodump 를 실행 하려면 백업할 각 데이터베이스 에 대해 find 조치 을 수행할 수 있는 권한이 있어야 합니다. 내장 제공 backup 역할 은 모든 데이터베이스의 백업 을 수행하는 데 필요한 권한을 제공합니다.

독립형 또는 복제본 세트의 경우 mongodump는 쿼리를 기반으로 한 부분 백업, 프로덕션 환경에서 스테이징 또는 개발 환경으로의 동기화, 독립형의 스토리지 엔진 변경을 위해 mongorestore와 함께 백업 전략의 일부가 될 수 있습니다.

백업 및 복구 전략의 일환으로 mongodump 을(를) mongorestore 와(과) 함께 사용하는 방법에 대한 자세한 내용은 다음을 참조하세요.

mongodumpmongorestore 를 샤드 클러스터의 백업 전략으로 사용하려면 데이터베이스 덤프를 사용하여 자체 관리형샤딩된 클러스터 백업을 참조하세요.

또한 샤드 클러스터는 다음과 같은 조정된 백업 및 복원 프로세스 중 하나를 사용할 수 있으며, 이는 쓰기를 계속 허용하면서 샤드 전체의 원자성을 보장합니다.

돌아가기

호환성 및 설치