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

mongodump

이 페이지의 내용

  • 정의
  • 구문
  • 옵션
  • 자세히 알아보기

mongodump 는 데이터베이스의 내용을 이진 형식으로 내보내는 유틸리티입니다. mongodump가 데이터를 내보낼 수 있는 곳:

  • 독립형 배포

  • 복제본 세트

  • 샤딩된 클러스터

  • 서버리스 인스턴스

MongoDB Database Tools를 사용하여 자체 호스팅 배포서버에서 MongoDB Atlas로 마이그레이션할 수 있습니다. MongoDB Atlas는 클라우드에서의 MongoDB 배포서버를 위한 완전 관리형 서비스입니다. 자세한 내용은 mongorestore로 시드 구성을 참조하세요.

MongoDB Atlas로 마이그레이션할 수 있는 모든 방법을 알아보려면 데이터 마이그레이션 또는 가져오기를 참조하세요.

mongodump mongodmongos 인스턴스에 연결할 수 있습니다.

mongodump에서 생성된 BSON 파일을 소스 배포와 동일하거나 더 최신 버전을 실행하는 MongoDB 배포로 복원할 수 있습니다. 그러나 파일을 최신 버전 배포로 복원하는 것은 배포를 업그레이드하는 권장 방법이 아닙니다. 배포를 업그레이드하는 방법을 알아보려면 업그레이드 문서를 참조하세요.

mongo shell이 아닌 시스템 명령줄에서 mongodump을 실행하세요.

다음도 참조하세요.

mongorestoremongodump에서 내보낸 데이터를 가져올 수 있습니다.

스토리지 비용을 절약하기 위해 오래된 데이터를 보관하려는 경우 MongoDB AtlasOnline Archive를 고려해 보세요. Atlas Online Archive는 자주 액세스하지 않는 데이터를 관리형 S3 버킷에 자동으로 보관하여 비용 효율적인 데이터 계층화를 지원합니다.

mongodump 덤프:

  • 컬렉션 문서, 메타데이터 및 옵션.

  • 인덱스 정의.

  • mongodump --oplog 옵션을 사용하여 실행하는 경우 내보내기 중에 발생하는 쓰기입니다.

mongodump 데이터를 디렉토리나 바이너리 아카이브 파일에 덤프합니다.

예시 mongodump 디렉토리 덤프 구조 및 파일:

dump
├── easternSalesDatabase
│ ├── sales.bson
│ ├── sales.metadata.json
│ └── salesByMonthView.metadata.json
├── westernSalesDatabase
│ ├── sales.bson
│ ├── sales.metadata.json
│ └── salesByMonthView.metadata.json
└── oplog.bson

디렉토리 덤프의 경우 mongodump는 다음을 생성합니다.

  • 기본 이름이 dump인 루트 디렉토리입니다. mongodump --out 옵션을 사용하여 이름을 설정할 수 있습니다.

  • 각 데이터베이스의 루트 디렉토리에 있는 하위 디렉토리입니다. 예를 들어 데이터베이스 이름이 easternSalesDatabase인 경우 하위 디렉토리 이름도 easternSalesDatabase입니다.

  • 각 컬렉션에 대한 문서가 있는 BSON 파일입니다. 예를 들어 컬렉션 이름이 sales이면 BSON 파일은 sales.bson입니다.

  • 각 데이터베이스 디렉토리의 각 컬렉션에 대한 메타데이터 JSON 파일입니다. 메타데이터 sales.metadata.json 파일을 예로 들 수 있습니다. 파일에는 내보낸 컬렉션 메타데이터, 옵션 및 인덱스가 포함된 문서가 들어 있습니다.

  • 각 보기에 대한 메타데이터 JSON 파일입니다. 메타데이터 salesByMonthView.metadata.json 파일을 예로 들 수 있습니다. 보기에 BSON 파일이 없습니다.

  • mongodump 실행 중에 발생한 쓰기 작업이 포함된 루트 디렉토리에 있는 선택적 oplog oplog.bson 파일입니다. oplog.bson 파일을 출력하려면 mongodump --oplog 옵션을 사용하세요.

mongodump --gzip 옵션을 사용하면 BSON 파일과 JSON 메타데이터 파일이 압축됩니다. 내보낸 압축 파일의 이름 끝에 bson.gzmetadata.json.gz가 있습니다.

데이터를 바이너리 아카이브 파일로 덤프하려면 mongodump --archive 옵션을 사용하세요. mongodump는 보관된 데이터가 포함된 바이너리 파일을 생성합니다.

mongodump 구문:

mongodump <options> <connection-string>

포트 27017에서 실행되는 로컬 MongoDB 인스턴스에 연결하고 기본 설정을 사용하여 콘텐츠를 내보내려면 명령줄 옵션 없이 mongodump을(를) 실행하세요.

mongodump

MongoDB 인스턴스의 호스트 및/또는 포트를 지정하려면 다음 두 가지 방법을 사용할 수 있습니다.

  • --uri connection string 옵션에 호스트 이름과 포트를 지정합니다.

    mongodump --uri="mongodb://mongodb0.example.com:27017" [additional options]
  • --host 옵션에 호스트 이름과 포트를 지정합니다.

    mongodump --host="mongodb0.example.com:27017" [additional options]
  • --host--port 옵션에서 호스트 이름과 포트를 지정합니다.

    mongodump --host="mongodb0.example.com" --port=27017 [additional options]

복제본 세트에 연결하여 데이터를 내보내려면 다음을 수행합니다.

  • --uri connection string 옵션에서 복제본 세트 이름과 멤버를 지정합니다.

    mongodump --uri="mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?replicaSet=myReplicaSetName" [additional options]
  • --host 옵션에서 복제본 세트 이름과 멤버를 지정합니다.

    mongodump --host="myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com" [additional options]

기본적으로 mongodump 는 복제본 세트의 프라이머리에서 읽습니다. 기본값을 재정의하려면 읽기 설정을 지정하면 됩니다.

  • --uri connection string 옵션에서 읽기 설정을 지정할 수 있습니다.

    mongodump --uri="mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?replicaSet=myReplicaSetName&readPreference=secondary" [additional options]

    읽기 설정 태그를 지정하는 경우 readPreferenceTags 옵션을 포함합니다.

    mongodump --uri="mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?replicaSet=myReplicaSetName&readPreference=secondary&readPreferenceTags=region:east" [additional options]
  • --readPreference 명령줄 옵션을 사용하여 읽기 설정 (read preference)을 지정할 수 있습니다. 명령줄 옵션은 읽기 설정 (read preference) 모드만 지정하는 경우 string을 사용합니다.

    mongodump --host="myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017" --readPreference=secondary [additional options]

    또는 명령줄 옵션에서 따옴표로 묶인 문서 '{ mode: <mode>, tagSets: [ <tag1>, ... ], maxStalenessSeconds:<num>}' 를 사용하여 모드, 선택적 읽기 설정 태그 세트 및 선택적 maxStalenessSeconds를 지정할 수 있습니다.

    mongodump --host="myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017" --readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ]}' [additional options]

샤드 cluster에 연결하여 데이터를 내보내려면 다음을 수행합니다.

  • --uri connection string 옵션에서 mongos 인스턴스의 호스트 이름을 지정합니다.

    mongodump --uri="mongodb://mongos0.example.com:27017" [additional options]
  • --host 옵션에서 mongos 인스턴스의 호스트 이름과 포트를 지정합니다.

    mongodump --host="mongos0.example.com:27017" [additional options]

기본적으로 mongodump 은 샤드 복제본 세트의 프라이머리에서 읽습니다. 기본값을 재정의하려면 읽기 설정을 지정하면 됩니다.

  • --uri connection string 옵션에서 읽기 설정을 지정할 수 있습니다.

    mongodump --uri="mongodb://mongos0.example.com:27017/?readPreference=secondary" [additional options]

    읽기 설정 태그를 지정하는 경우 readPreferenceTags 옵션을 포함합니다.

    mongodump --uri="mongodb://mongos0.example.com:27017/?readPreference=secondary&readPreferenceTags=region:east" [additional options]
  • --readPreference 명령줄 옵션을 사용하여 읽기 설정을 지정할 수 있습니다. 명령줄 옵션은 읽기 설정 모드만 지정하는 경우 string 을 사용합니다.

    mongodump --host="mongos0.example.com:27017" --readPreference=secondary [additional options]

    또는 명령줄 옵션에서 따옴표로 묶인 문서 '{ mode: <mode>, tagSets: [ <tag1>, ... ], maxStalenessSeconds: <num>}' 를 사용하여 모드, 선택적 읽기 설정 태그 세트 및 선택적 maxStalenessSeconds를 지정할 수 있습니다.

    mongodump --host="mongos0.example.com:27017" --readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ]}' [additional options]
--help

옵션 및 mongodump의 사용에 대한 정보를 반환합니다.

--verbose, -v

표준 출력 또는 로그 파일에 반환되는 내부 보고의 양을 늘립니다. 옵션을 여러 번 포함하여 -v 형식으로 다변성을 늘립니다. 예시: -vvvvv.

--quiet

출력량을 제한하려고 시도하는 자동 모드에서 mongodump를 실행합니다.

이 옵션은 다음과 같은 활동을 억제합니다.

  • 데이터베이스 명령에서 출력

  • 복제 활동

  • 연결 수락 및 종료 이벤트

  • 오류 메시지를 포함한 모든 로그(옵션 구문 분석 시 발생하는 로그 제외)

--version

mongodump 출시 번호를 반환합니다.

--config=<filename>

버전 100.3.0의 새로운 기능.

다음 옵션에 대한 중요한 값을 포함하는 YAML 구성 파일의 전체 경로를 mongodump에 지정합니다.

비밀번호 프롬프트를 통해 비밀번호를 지정하는 것 외에 mongodump에 비밀번호를 지정하는 권장 방법입니다.

구성 파일은 다음과 같은 형식을 취합니다:

password: <password>
uri: mongodb://mongodb0.example.com:27017
sslPEMKeyPassword: <password>

password: 필드에 암호를 지정하고 uri: 필드에 충돌하는 암호가 포함된 연결 문자열을 제공하면 오류가 발생합니다.

적절한 파일 시스템 권한으로 이 파일을 보호해야 합니다.

참고

--config로 구성 파일을 지정하고 --password, --uri 또는 --sslPEMKeyPassword 옵션을 mongodump에 사용하는 경우 각 명령줄 옵션은 구성 파일의 해당 옵션을 재정의합니다.

--uri=<connectionString>

따옴표로 묶인 MongoDB 배포의 확인 가능한 URI 연결 문자열 을 지정합니다.

--uri="mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]"

mongodump100.0 버전부터는 --uri 옵션을 사용하지 않고 대신 위치 매개변수로 연결 문자열을 제공할 수도 있습니다.

mongodump mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

연결 문자열은 mongodb:// 또는 mongodb+srv:// 중 하나로 시작하기만 하면 명령줄의 어느 지점에서나 위치 매개변수로 지정할 수 있습니다. 예를 들면 다음과 같습니다.

mongodump --username joe --password secret1 mongodb://mongodb0.example.com:27017 --ssl

연결 문자열은 하나만 제공할 수 있습니다. --uri 옵션을 사용하든 위치 인수로 사용하든 둘 이상을 포함하려고 하면 오류가 발생합니다.

연결 문자열의 구성 요소에 대한 자세한 내용은 연결 문자열 URI 형식 문서를 참조하세요.

참고

connection string의 일부 구성요소는 --username--password와 같은 자체 명시적 명령줄 옵션을 사용하여 지정할 수도 있습니다. 명시적 옵션을 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.

참고

mongodump Ubuntu 18.04를 사용하는 경우 --uri 옵션과 함께 SRV 연결 문자열(mongodb+srv:// 형식)을 사용하면 cannot unmarshal DNS 오류 메시지가 나타날 수 있습니다. 이 경우 다음 옵션 중 하나를 대신 사용합니다.

경고

일부 시스템에서는 --uri 옵션이 있는 연결 문자열에 제공된 비밀번호가 다른 사용자가 호출할 수 있는 ps와 같은 시스템 상태 프로그램에 표시될 수 있습니다. 대신 다음을 고려해 보세요.

  • 대화형 암호 프롬프트를 받기 위해 연결 문자열에서 암호를 생략하거나

  • --config 옵션을 사용하여 비밀번호가 포함된 구성 파일을 지정합니다.

--host=<hostname><:port>, -h=<hostname><:port>

기본값: localhost:27017

MongoDB deployment의 확인 가능한 호스트 이름을 지정합니다. 기본적으로 mongodump는 포트 번호 27017의 로컬 호스트에서 실행되는 MongoDB 인스턴스에 연결을 시도합니다.

복제본 세트에 연결하려면 다음과 같이 replSetName과 세트 멤버의 시드 목록을 지정합니다.

--host=<replSetName>/<hostname1><:port>,<hostname2><:port>,<...>

복제본 설정 목록 형식을 지정할 때 mongodump는 항상 프라이머리에 연결합니다.

또한 해당 멤버의 호스트와 포트만 지정하여 복제본 세트의 단일 멤버에 연결할 수 있습니다.

--host=<hostname1><:port>

IPv6을 사용하고 <address>:<port> 형식을 사용하는 경우 주소 및 포트 조합의 일부를 대괄호로 묶어야 합니다. 예를 들어 [<address>]입니다.

또는 URI connection string에 호스트 이름을 직접 지정할 수도 있습니다. --host를 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.

--port=<port>

기본값: 27017

MongoDB 인스턴스가 클라이언트 연결 수신을 대기하는 TCP 포트를 지정합니다.

또는 URI connection string에 포트를 직접 지정할 수도 있습니다. 연결 문자열을 제공하면서 --port를 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.

--ssl

TLS/SSL 지원이 활성화된 mongod 또는 mongos에 대한 연결을 활성화합니다.

또는 URI connection string에서 직접 TLS/SSL 지원을 구성할 수도 있습니다. 연결 문자열을 제공하면서 --ssl을 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.

--sslCAFile=<filename>

인증 기관의 루트 인증서 체인이 포함된 .pem 파일을 지정합니다. 상대 경로 또는 절대 경로를 사용하여 .pem 파일의 이름을 지정합니다.

또는 URI connection string에 직접 .pem 파일을 지정할 수도 있습니다. 연결 문자열을 제공하면서 --sslCAFile을 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.

--sslPEMKeyFile=<filename>

TLS/SSL 인증서와 키가 모두 포함되어 있는 .pem 파일을 지정합니다. 상대 경로 또는 절대 경로를 사용해 .pem 파일의 이름을 지정합니다.

이 옵션은 --ssl 옵션을 사용하여 mongod mongos allowConnectionsWithoutCertificates없이 { 가 활성화된 CAFile또는 에 연결할 때 필요합니다

또는 URI connection string에 직접 .pem 파일을 지정할 수도 있습니다. 연결 문자열을 제공하면서 --sslPEMKeyFile을 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.

--sslPEMKeyPassword=<value>

인증서-키 파일 해독을 위한 비밀번호를 지정합니다(예: --sslPEMKeyFile). 인증서 키 파일이 암호화된 경우에만 `--sslPEMKeyPassword 옵션을 사용합니다. 모든 경우에 mongodump는 모든 로깅 및 보고 출력에서 비밀번호를 삭제합니다.

PEM 파일의 개인 키가 암호화되어 있고 --sslPEMKeyPassword 옵션을 지정하지 않은 경우 mongodump에 암호를 입력하라는 메시지가 표시됩니다. TLS/SSL 인증서 암호를 참조하세요.

또는 URI connection string에 비밀번호를 직접 지정할 수도 있습니다. 연결 문자열을 제공하면서 --sslPEMKeyPassword를 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.

경고

일부 시스템에서는 --sslPEMKeyPassword 옵션을 사용해 직접 제공된 비밀번호가 다른 사용자가 호출할 수 있는 ps와 같은 시스템 상태 프로그램에 표시될 수 있습니다. 대신 --config 옵션을 사용하여 비밀번호가 포함된 구성 파일을 지정하는 것이 좋습니다.

--sslCRLFile=<filename>

인증서 해지 목록이 포함된 .pem 파일을 지정합니다. 상대 경로 또는 절대 경로를 .pem 파일의 이름을 지정합니다.

--sslAllowInvalidCertificates

서버 인증서에 대한 유효성 검사를 우회하고 유효하지 않은 인증서의 사용을 허용합니다. allowInvalidCertificates 설정을 사용할 때 MongoDB는 유효하지 않은 인증서 사용에 대한 경고를 기록합니다.

경고

--sslAllowInvalidCertificates 옵션은 사용할 수 있는 경우에도 가급적 사용하지 않는 것이 좋습니다. --sslAllowInvalidCertificates를 사용해야만 하는 경우, 침입이 불가능한 시스템에서만 옵션을 사용하세요.

서버 인증서의 유효성을 검사하지 않고 mongod 또는 mongos 인스턴스에 연결하면 잠재적인 보안 위험이 발생할 수 있습니다. TLS/SSL 인증서에서 호스트 이름의 유효성 검사만 비활성화해야 하는 경우 --sslAllowInvalidHostnames를 참조하세요.

또는 URI connection string에서 인증서 유효성 검사를 비활성화할 수도 있습니다. 연결 문자열을 제공하면서 --sslAllowInvalidCertificates를 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.

--sslAllowInvalidHostnames

TLS/SSL 인증서의 호스트 이름 유효성 검사를 비활성화합니다. 인증서의 호스트 이름이 지정된 호스트 이름과 일치하지 않더라도 mongodump가 MongoDB 인스턴스에 연결할 수 있도록 허용합니다.

또는 URI connection string에서 호스트 이름 유효성 검사를 비활성화할 수도 있습니다. --sslAllowInvalidHostnames를 사용하면서 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.

--username=<username>, -u=<username>

인증을 사용하는 MongoDB 데이터베이스에 인증하는 데 사용할 사용자 이름을 지정합니다. --password <mongodump --password>--authenticationDatabase <mongodump --authenticationDatabase> 옵션과 함께 사용합니다.

또는 URI connection string에 직접 사용자 이름을 지정할 수도 있습니다. 연결 문자열을 제공하면서 --username을 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.

MONGODB-AWS authentication mechanism을 사용하여 MongoDB Atlas 클러스터에 연결하는 경우 다음에 AWS 액세스 키 ID를 지정할 수 있습니다.

각각의 예는 AWS IAM 자격 증명을 사용하여 MongoDB Atlas Cluster에 연결하기를 참조하세요.

--password=<password>, -p=<password>

인증을 사용하는 MongoDB database에 인증하는 데 사용할 비밀번호를 지정합니다. --username <mongodump --username>--authenticationDatabase <mongodump --authenticationDatabase> 옵션과 함께 사용합니다.

사용자에게 비밀번호를 입력하라는 메시지를 표시하려면 --password <mongodump --password> 없이 --username <mongodump --username> 옵션을 전달하거나 --password ""와 같이 빈 string을 --password <mongodump --password> 값으로 지정합니다.

또는 URI connection string에 비밀번호를 직접 지정할 수도 있습니다. 연결 문자열을 제공하면서 --password를 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.

MONGODB-AWS authentication mechanism을 사용하여 MongoDB Atlas 클러스터에 연결하는 경우 다음에서 AWS 시크릿 액세스 키를 지정할 수 있습니다.

각각의 예는 AWS IAM 자격 증명을 사용하여 MongoDB Atlas Cluster에 연결하기를 참조하세요.

경고

일부 시스템에서는 --password 옵션을 사용해 직접 제공된 비밀번호가 다른 사용자가 호출할 수 있는 ps와 같은 시스템 상태 프로그램에 표시될 수 있습니다. 대신 다음을 고려합니다.

  • --password 옵션을 생략하여 대화형 암호 프롬프트를 받거나, 또는

  • --config 옵션을 사용하여 비밀번호가 포함된 구성 파일을 지정합니다.

--awsSessionToken=<AWS Session Token>

MONGODB-AWS authentication mechanism를 사용하여 MongoDB Atlas 클러스터에 연결하고 AWS 액세스 키 ID 및 시크릿 액세스 키 외에 세션 토큰을 사용하는 경우, 다음에서 AWS 세션 토큰을 지정할 수 있습니다.

각각의 예는 AWS IAM 자격 증명을 사용하여 MongoDB Atlas Cluster에 연결하기를 참조하세요.

MONGODB-AWSauthentication mechanism을 사용할 때만 유효합니다.

--authenticationDatabase=<dbname>

지정한 --username <mongodump --username>이 생성된 인증 데이터베이스를 지정합니다. 인증 데이터베이스를 참조하세요.

인증 데이터베이스를 지정하지 않으면 mongodump는 내보내도록 지정된 데이터베이스가 사용자의 자격 증명을 보유하고 있다고 가정합니다.

인증 데이터베이스 또는 내보낼 데이터베이스를 지정하지 않으면 mongodumpadmin 데이터베이스가 사용자의 자격 증명을 보유하고 있다고 가정합니다.

GSSAPI(Kerberos), PLAIN(LDAP SASL) 또는 MONGODB-AWS authentication mechanisms를 사용하는 경우 --authenticationDatabase$external로 설정해야 합니다.

또는 URI connection string에서 직접 인증 데이터베이스를 지정할 수도 있습니다. 연결 문자열을 제공하면서 --authenticationDatabase를 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.

--authenticationMechanism=<name>

기본값: SCRAM-SHA-1

mongodump 인스턴스가 mongod 또는 mongos 인증에 사용할 인증 메커니즘을 지정합니다.

버전 100.1.0 변경 사항: 버전 100.1.0부터 mongodumpMongoDB Atlas 클러스터에 연결할 때 MONGODB-AWS 인증 메커니즘에 대한 지원을 추가합니다.

설명
SCRAM-SHA-1

RFC 7677 표준 SHA-256 해시 함수를 사용하는 솔티드 챌린지 응답 인증 메커니즘.

featureCompatibilityVersion이 4.0으로 설정되어야 합니다.

MongoDB TLS/SSL 인증서 인증.
MONGODB-AWS

MongoDB Atlas 클러스터 연결에 사용하기 위한 AWS IAM 자격 증명을 사용하는 외부 인증입니다. AWS IAM 자격 증명을 사용하여 MongoDB Atlas 클러스터에 연결하기를 참조하세요.

버전 100.1.0의 새로운 기능.

GSSAPI (Kerberos)
Kerberos를 사용한 외부 인증. 이 메커니즘은 MongoDB Enterprise에서만 사용할 수 있습니다.
PLAIN (LDAP SASL)
LDAP를 사용한 외부 인증. PLAIN 을(를) 사용하여 데이터베이스 내 사용자를 인증할 수도 있습니다. PLAIN 은(는) 비밀번호를 일반 텍스트로 전송합니다. 이 메커니즘은 MongoDB Enterprise에서만 사용할 수 있습니다.

또는 URI connection string에서 직접 인증 메커니즘을 지정할 수도 있습니다. 연결 문자열을 제공하면서 --authenticationMechanism를 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.

--gssapiServiceName

GSSAPI/Kerberos를 사용하여 서비스 이름을 지정합니다. 서비스가 기본값 이름인 mongodb를 사용하지 않는 경우에만 필요합니다.

이 옵션은 MongoDB Enterprise에서만 사용할 수 있습니다.

또는 URI connection string에 직접 서비스 이름을 지정할 수도 있습니다. 연결 문자열을 제공하면서 --gssapiServiceName을 사용하고 상충하는 정보를 지정하면 오류가 발생합니다.

--gssapiHostName

GSSAPI/Kerberos </core/kerberos>를 사용하여 서비스의 호스트 이름을 지정합니다. 시스템의 호스트 이름이 DNS에서 확인한 호스트 이름과 일치하지 않는 경우에만 필요합니다.

이 옵션은 MongoDB Enterprise에서만 사용할 수 있습니다.

--db=<database>, -d=<database>

백업할 데이터베이스를 지정합니다. 데이터베이스를 지정하지 않으면 mongodump가 해당 인스턴스의 모든 데이터베이스를 덤프 파일에 복사합니다.

또는 URI connection string에 직접 데이터베이스를 지정할 수도 있습니다. --db를 사용하는 동안 연결 문자열을 제공하고 충돌하는 정보를 지정하면 오류가 발생합니다.

--collection=<collection>, -c=<collection>

백업할 컬렉션을 지정합니다. 컬렉션을 지정하지 않으면 이 옵션은 지정된 데이터베이스 또는 인스턴스의 모든 컬렉션을 덤프 파일에 복사합니다.

--query=<json>, -q=<json>

mongodump의 출력에 포함된 문서를 선택적으로 제한하는 JSON 문서를 쿼리로 제공합니다. --query 옵션을 사용하려면 --collection <mongodump --collection> 옵션도 지정해야 합니다.

쿼리 문서가 셸 환경과 상호 작용하지 않도록 하려면 쿼리 문서를 작은따옴표('{ ... }')로 묶어야 합니다.

쿼리는 반드시 필드 이름과 연산자를 따옴표로 묶는 것을 포함하여 Extended JSON v2 형식(완화 또는 표준/엄격 모드)이어야 합니다. 예를 들면 다음과 같습니다.

mongodump -d=test -c=records -q='{ "a": { "$gte": 3 }, "date": { "$lt": { "$date": "2016-01-01T00:00:00.000Z" } } }'

$regexmongodump와 함께 사용하려면 다음 구문을 사용합니다.

mongodump -d=sample_mflix -c=movies -q='{ "year": { "$regex": "20" } }'

참고

time series 컬렉션--query 옵션을 사용하는 경우 metaField로 지정된 필드만 쿼리할 수 있습니다.

--queryFile=<path>

mongodump의 출력에 포함된 문서를 제한하는 쿼리 필터로 사용할 JSON 문서가 포함된 파일의 경로를 지정합니다. --queryFile을 사용하면 터미널의 버퍼에 비해 너무 큰 쿼리 필터를 생성할 수 있습니다.

참고

시계열 컬렉션에 --queryFile 옵션을 사용하는 경우 metaField로 지정된 필드만 쿼리할 수 있습니다.

--readPreference=<string|document>

기본값: primary

mongodump에 대한 읽기 설정을 지정합니다. --readPreference 옵션은 다음을 사용할 수 있습니다.

  • 읽기 설정 모드만 지정하는 경우 문자열입니다:

    --readPreference=secondary
  • 따옴표로 묶인 문서를 통해 모드, 선택적 읽기 설정 태그 세트 및 선택적 maxStalenessSeconds를 지정할 수 있습니다.

    --readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ], maxStalenessSeconds: 120}'

    maxStalenessSeconds를 지정하는 경우 값은 90 이상이어야 합니다.

mongodump 기본값은 primary 읽기 설정입니다.

읽기 설정이 --uri connection string <--uri>에도 포함되어 있으면 명령줄 --readPreference가 URI 문자열에 지정된 읽기 설정을 재정의합니다.

--gzip

출력을 압축합니다. mongodump가 덤프 디렉토리로 출력되면 새 기능은 개별 파일을 압축합니다. 파일의 접미사는 .gz입니다.

mongodump가 보관 파일 또는 표준 출력 스트림으로 출력하는 경우 새 기능은 보관 파일 또는 데이터 출력을 스트림으로 압축합니다.

--out=<path>, -o=<path>

덤프된 데이터베이스에 대해 mongodumpBSON 파일을 작성할 디렉토리를 지정합니다. 기본적으로 mongodump는 현재 작업 중인 디렉토리에서 dump라는 이름의 디렉토리에 출력 파일을 저장합니다.

데이터베이스 덤프를 표준 출력으로 보내려면 경로 대신 '-'을 지정합니다. gzip을 사용하여 덤프를 압축하는 등 출력을 저장하기 전에 처리하려면 표준 출력에 기록합니다. 표준 출력을 작성할 때 mongodump는 파일에 직접 쓸 때 <dbname>.metadata.json 파일에 쓰는 메타데이터를 작성하지 않습니다.

--archive 옵션은 --out 옵션과 함께 사용할 수 없습니다.

--archive=<file>

지정된 아카이브 파일에 출력을 쓰거나, 아카이브 파일이 지정되지 않은 경우 표준 출력(stdout)에 씁니다. 아카이브 파일은 여러 개의 BSON 파일을 대체할 수 있는 단일 파일입니다.

  • 덤프를 아카이브 파일로 출력하려면 --archive <mongodump --archive> 옵션과 아카이브 파일 이름을 사용하여 mongodump를 실행합니다.

    mongodump --archive=<file>
  • 덤프를 다른 프로세스로 파이프하기 위해 표준 출력 스트림으로 출력하려면 --archive <mongodump --archive> 옵션과 함께 mongodump를 실행하되 파일 이름은 생략합니다.

    mongodump --archive

--archive <mongodump --archive> 옵션은 --out <mongodump --out> 옵션과 함께 사용할 수 없습니다.

참고

mongodump가 아카이브 파일에 쓰면 mongodump 성능이 향상될 수 있습니다. mongodump 성능 영향에 대한 자세한 내용은 출력 형식 고려 사항을 참조하세요.

--oplog

mongodump 출력의 일부로 oplog.bson 라는 파일을 만듭니다. 출력 디렉토리의 최상위 수준에 있는 oplog.bson 파일에는 mongodump 작업 중에 발생하는 oplog 항목이 포함되어 있습니다.

복원 작업에서 oplog.bson 파일의 oplog 항목을 적용하려면 mongorestore --oplogReplay를 사용하세요. mongodump --oplogmongorestore --oplogReplay와 함께 사용하여 데이터가 최신 상태이고 덤프 중에 발생한 모든 쓰기가 있는지 확인할 수 있습니다.

--oplog 없이 덤프 작업 중에 쓰기 작업이 있는 경우 덤프는 특정 시점을 반영하지 않습니다. 업데이트 프로세스 중에 데이터베이스를 변경하면 백업 출력에 영향을 줄 수 있습니다.

쓰기를 허용하면서 개별 복제본 세트를 백업하려면 --oplog를 사용하세요. mongodump를 사용하여 샤딩된 클러스터를 백업하려면 데이터베이스 덤프를 사용하여 샤딩된 클러스터 백업을 참조하세요.

중요

클라이언트가 덤프 프로세스 중에 다음과 같은 작업을 실행하면 --oplog와 함께 실행되는 mongodump는 실패합니다.

--oplog mongos 인스턴스에서 mongodump를 실행하여 샤딩된 클러스터의 전체 콘텐츠를 덤프하는 경우에는 효과가 없습니다.

--oplogoplog를 유지하는 노드에 대해서만 작동합니다. 여기에는 복제본 세트의 모든 멤버가 포함됩니다.

--oplog 는 oplog 컬렉션을 덤프하지 않습니다.

참고

mongodump--oplog와 함께 사용하려면 복제본 세트 멤버의 전체 덤프를 만들어야 합니다. 덤프할 데이터를 제한하기 위해 다음 옵션 중 하나를 사용하는 경우 --oplog가 포함된 mongodump는 실패합니다.

  • --db

  • --collection

  • --dumpDbUsersAndRoles

  • --query

다음도 참조하세요.

--dumpDbUsersAndRoles

특정 데이터베이스에서 mongodump를 수행할 때 데이터베이스의 덤프 디렉토리에 사용자 및 역할 정의를 포함합니다. 이 옵션은 --db 옵션에서 데이터베이스를 지정하는 경우에만 적용됩니다. MongoDB는 mongodump가 특정 데이터베이스뿐만 아니라 전체 인스턴스에 적용될 때 항상 사용자 및 역할 정의를 포함합니다.

--excludeCollection=<string>

지정된 컬렉션을 mongodump 출력에서 제외합니다. 여러 컬렉션을 제외하려면 --excludeCollection을 여러 번 지정합니다.

--excludeCollectionsWithPrefix=<string>

지정된 접두사가 있는 모든 컬렉션을 mongodump 출력에서 제외합니다. 접두사를 여러 개 지정하려면 --excludeCollectionsWithPrefix를 여러 번 지정합니다.

--numParallelCollections=<int>, -j=<int>

기본값: 4

mongodump 컬렉션의 수는 병렬로 내보내야 합니다.

--viewsAsCollections

지정된 경우 mongodump를 컬렉션으로 내보냅니다.

참고

오직 뷰만 내보내집니다. 기본적으로 mongodump는 뷰의 메타데이터만 내보냅니다. 뷰 내의 문서를 내보내려면 --viewsAsCollections 옵션을 사용합니다.

mongodump는 각 뷰에 대해 뷰의 문서를 포함하는 BSON 파일을 만듭니다. mongodump에서 생성한 BSON과 함께 mongorestore 를 사용하면 뷰가 컬렉션으로 복원됩니다.

--viewsAsCollections를 포함하지 않는 경우 mongodump는 각 뷰의 메타데이터를 캡처합니다. 만약 mongorestore 작업에 뷰의 메타데이터 파일을 포함하면 뷰가 다시 생성됩니다.

mongodump에 대한 자세한 내용은 다음을 참조하세요.

튜토리얼은 데이터베이스 덤프를 사용하여 샤딩된 클러스터 백업을 참조하세요.

TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL용 mongod 및 mongos 구성클라이언트용 TLS/SSL 구성을 참조하세요.

돌아가기

MongoDB 데이터베이스 도구 설명서

다음

호환성 및 설치