mongodump 동작, 액세스, 사용
이 페이지의 내용
경고
Windows 또는 macOS와 같이 대소문자를 구분하지 않는 파일 시스템에 덤프하는 경우 대소문자만 다른 이름을 가진 컬렉션은 덮어쓰여집니다. 대소문자를 구분하지 않는 파일 시스템의 경우 항상 --archive 옵션을 사용하세요.
경고
필드에 $ 접두사가 있는 데이터 덤프 및 복원 충돌
MongoDB 5.0 부터 문서 필드 이름 앞에 달러 문자($
)를 붙일 수 있습니다. 그러나 mongodump
및 mongorestore
은 컬렉션의 옵션에서 달러 문자 접두사가 붙은 필드 이름에서는 작동하지 않습니다.
MongoDB 확장 JSON (v2) 은 유형 래퍼와 유형 래퍼와 이름이 같은 필드를 구분할 수 없습니다. 해당 BSON 표현에 $
접두사가 붙은 키가 포함될 수 있는 경우 확장 JSON 형식을 사용하지 마세요. DBRefs 메커니즘은 이 일반 규칙의 예외입니다.
행동
없이 사용 mongodump
authSource
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
는 해당 데이터베이스의 모든 컬렉션을 덤프합니다.다른 모든 데이터베이스의 경우
mongodump
는system.js
를 제외하고system.
로 시작하는 모든 컬렉션을 제외합니다.
--db
옵션을 생략하면 다음 제외 사항이 적용됩니다.
mongodump
local
데이터베이스를 제외합니다.mongodump
config
데이터베이스의 출력에 다음 컬렉션만 포함합니다.chunks
collections
databases
settings
shards
tags
version
Atlas 프록시에 연결되어 있는 경우
mongodump
은(는)admin
데이터베이스 를 제외합니다.
mongodump
출력:
데이터베이스의 문서와 인덱스 정의가 포함되어 있습니다.
인덱스 데이터를 포함하지 않습니다.
mongorestore
또는 mongod
는 데이터 복원 후 인덱스를 다시 작성해야 합니다.
뷰를 사용하는 경우:
기본적으로
mongodump
뷰의 메타데이터만 내보냅니다.mongodump
는 뷰에 포함된 문서의 이진 내보내기를 만들지 않습니다.뷰의 문서를 내보내려면
--viewsAsCollections
를 사용합니다.
Metadata Output
mongodump
가 디렉토리로 출력하는 경우 출력에는 다음 속성을 비롯한 컬렉션 메타데이터가 포함됩니다.
컬렉션 이름
컬렉션 유형
컬렉션 구성 옵션
UUID
Indexes
mongodump
가 표준 출력(stdout
)으로 출력하는 경우 출력에는 메타데이터가 포함되지 않습니다. 자세한 내용은 --out
옵션을 참조하세요.
메타데이터 형식
mongodump
메타데이터 파일에 Extended JSON v2.0 (Canonical) 형식을 사용합니다. 복원을 위해 이러한 파일을 구문 분석하려면 확장 JSON v2 를 지원하는 mongorestore
를 사용합니다.0 (표준 또는 완화 모드) 형식입니다.
파일 덮어쓰기
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
프로그램에서 다음 옵션을 사용할 수 없습니다.
필요한 액세스 권한
액세스 제어 가 활성화된 MongoDB deployment 에 대해 mongodump
를 실행 하려면 백업할 각 데이터베이스 에 대해 find
조치 을 수행할 수 있는 권한이 있어야 합니다. 내장 제공 backup
역할 은 모든 데이터베이스의 백업 을 수행하는 데 필요한 권한을 제공합니다.
백업 전략에서의 사용
독립형 배포 및 복제 세트
독립형 또는 복제본 세트의 경우 mongodump
는 쿼리를 기반으로 한 부분 백업, 프로덕션 환경에서 스테이징 또는 개발 환경으로의 동기화, 독립형의 스토리지 엔진 변경을 위해 mongorestore
와 함께 백업 전략의 일부가 될 수 있습니다.
백업 및 복구 전략의 일환으로 mongodump
을(를) mongorestore
와(과) 함께 사용하는 방법에 대한 자세한 내용은 다음을 참조하세요.
샤딩된 클러스터
mongodump
및 mongorestore
를 샤드 클러스터의 백업 전략으로 사용하려면 데이터베이스 덤프를 사용하여 자체 관리형샤딩된 클러스터 백업을 참조하세요.
또한 샤드 클러스터는 다음과 같은 조정된 백업 및 복원 프로세스 중 하나를 사용할 수 있으며, 이는 쓰기를 계속 허용하면서 샤드 전체의 원자성을 보장합니다.