문서 메뉴
문서 홈
/
MongoDB 데이터베이스 도구
/

mongodump 동작, 액세스, 사용

이 페이지의 내용

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

경고

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

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.9.5를 사용하여 덤프를 생성한 경우 mongorestore 버전 100.9.5를 사용하여 복원합니다.

기본적으로mongodump 은(는) 읽기 설정 primary 을(를) 사용합니다. 기본값을 재정의하려면 명령줄 옵션 또는 --readPreference 에서 읽기 설정 --uri connection string 을 지정할 수 있습니다.

읽기 설정이 URI string과 --readPreference 옵션 모두에 지정된 경우에는 --readPreference 값이 URI string에 지정된 읽기 설정을 재정의합니다.

--db--collection 옵션을 모두 지정하면 mongodump 가 지정된 collection을 덤프합니다.

--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 프록시에 연결된 경우 mongodumpadmin 데이터베이스를 제외합니다.

mongodump 출력:

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

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

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

를 사용하는 경우:

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

  • collection 이름

  • collection 유형

  • 컬렉션 구성 옵션

  • UUID

  • 색인

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

돌아가기

호환성 및 설치

다음

예제