mongodump 예시
이 페이지의 내용
이 페이지에는 mongodump
의 예가 나와 있습니다.
mongo
shell이 아닌, 시스템 명령줄에서 mongodump
를 실행합니다.
컬렉션에사용 mongodump
다음 작업은 test
라는 데이터베이스에 records
라는 컬렉션만 포함하는 덤프 파일을 생성합니다. 예시에서 데이터베이스는 포트 27017
의 로컬 인터페이스에서 실행되고 있습니다.
mongodump --db=test --collection=records
mongodump
데이터베이스에 사용 및 지정된 컬렉션 제외
다음 작업은 test
데이터베이스의 모든 컬렉션을 users
와 salaries
를 제외하고 덤프합니다.
mongodump --db=test --excludeCollection=users --excludeCollection=salaries
액세스 제어와 함께사용 mongodump
다음 예시에서 mongodump
는 다음과 같이 호스트 mongodb1.example.net
의 포트 37017
에서 실행되고 사용자 이름 user
를 사용하여 인증하는 데이터베이스로부터 /opt/backup/mongodump-2011-10-24
에 있는 데이터베이스 덤프를 생성합니다.
mongodump --host=mongodb1.example.net --port=37017 --username=user --authenticationDatabase=admin --out=/opt/backup/mongodump-2011-10-24
--password
을 포함하지 않으면 mongodump
에서 사용자에게 비밀번호를 입력하라는 메시지를 표시합니다.
아카이브 파일로 출력
덤프를 아카이브 파일로 출력하려면 --archive
옵션과 아카이브 파일 이름을 사용하여 mongodump
를 실행합니다. 예를 들어 다음 작업은 test
데이터베이스의 덤프를 포함하는 test.20150715.archive
파일을 생성합니다.
mongodump --archive=test.20150715.archive --db=test
출력 압축
출력 덤프 디렉토리의 파일을 압축하려면 새 --gzip
옵션으로 mongodump
를 실행합니다. 예를 들어 다음 작업은 압축된 파일들을 기본 dump
디렉토리로 출력합니다.
mongodump --gzip --db=test
아카이브 파일 출력을 mongodump
로 압축하려면 --archive
옵션과 함께 --gzip
옵션을 사용하여 압축 파일의 이름을 지정합니다.
mongodump --archive=test.20150715.gz --gzip --db=test
데이터베이스 복사 및 복제
버전 4.2부터 MongoDB는 더 이상 사용되지 않는 copydb
명령과 clone
명령을 제거합니다.
대신 사용자는 mongodump
및 mongorestore
(mongorestore
옵션 --nsFrom
및 --nsTo
사용)를 사용할 수 있습니다.
예를 들어 기본 포트 27017에서 실행 중인 로컬 인스턴스의 test
데이터베이스를 동일한 인스턴스의 examples
데이터베이스로 복사하려면 다음과 같이 할 수 있습니다.
mongodump
를 사용하여test
데이터베이스를 아카이브mongodump-test-db
에 덤프합니다.mongodump --archive="mongodump-test-db" --db=test --nsFrom
과--nsTo
와 함께mongorestore
를 사용하여 아카이브에서 복원 (데이터베이스 이름 변경 포함) 합니다.mongorestore --archive="mongodump-test-db" --nsFrom="test.*" --nsTo="examples.*"
팁
URI 또는 호스트, 사용자 이름, 비밀번호 및 인증 데이터베이스를 지정하는 등 필요에 따라 추가 옵션을 포함합니다.
AWS IAM 자격 증명을 사용하여 MongoDB Atlas 클러스터에 연결하기
버전 100.1.0의 새로운 기능.
Amazon Web Services IAM 자격 증명 을 통해 인증을 지원하도록 MongoDB Atlas connection string
구성된 클러스터에 연결하려면 mongodump
다음과 같이 에 를 제공합니다.
mongodump 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' <other options>
이러한 방식으로 AWS IAM 자격 증명을 사용하여 Atlas에 연결하면 이 예와 같이 MONGODB-AWS
authentication mechanism
및 $external
authSource
가 사용됩니다.
AWS 세션 토큰을 사용하는 경우에도 다음과 같이 AWS_SESSION_TOKEN
authMechanismProperties
값과 함께 제공합니다.
mongodump 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS&authMechanismProperties=AWS_SESSION_TOKEN:<aws session token>' <other options>
참고
또는 다음과 같이 --username
, --password
및 --awsSessionToken
옵션을 대신 사용하여 AWS 액세스 키 ID, 시크릿 액세스 키 및 세션 토큰(선택 사항)을 각각 연결 문자열 외부에 제공할 수 있습니다.
mongodump 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' --username <aws access key id> --password <aws secret access key> --awsSessionToken <aws session token> <other options>
명령줄 매개변수로 제공되는 경우 이전 세 가지 옵션에는 퍼센트 인코딩이 필요하지 않습니다.
표준 AWS IAM 환경 변수를 사용하여 플랫폼에서 이러한 자격 증명을 설정할 수도 있습니다. mongodump
는 MONGODB-AWS
authentication mechanism
을 사용할 때 다음 환경 변수를 확인합니다.
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_SESSION_TOKEN
설정된 경우 이러한 자격 증명은 연결 문자열이나 명시적 옵션을 통해 지정할 필요가 없습니다.
참고
AWS 환경 변수를 사용하여 이러한 값을 지정하기로 선택한 경우 이러한 자격 증명에 해당하는 명시적 또는 연결 문자열 옵션과 조합하여 사용할 수 없습니다. 액세스 키 ID 및 비밀 액세스 키(사용 중인 경우 세션 토큰도 함께 필요)에 환경 변수를 사용하거나 또는 명시적 또는 연결 문자열 옵션을 사용하여 각각을 지정합니다.
다음 예제에서는 bash
셸에서 환경 변수를 설정합니다.
export AWS_ACCESS_KEY_ID='<aws access key id>' export AWS_SECRET_ACCESS_KEY='<aws secret access key>' export AWS_SESSION_TOKEN='<aws session token>'
환경 변수를 설정하는 구문은 다른 셸에서는 다를 수 있습니다. 자세한 내용은 사용 중인 셸의 문서를 참조하세요.
환경 변수가 설정되어 있는지 확인하려면 다음 명령을 사용합니다:
env | grep AWS
환경 변수를 설정한 후 다음 예제를 실행하여 MongoDB Atlas 클러스터에 연결합니다.
mongodump 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' <other options>
특정 데이터베이스로 인증하기
덤프되는 데이터베이스가 아닌 다른 데이터베이스로 인증하려면 MongoDB URI에 authSource
를 지정해야 합니다.
이 예시에서는
사용자 이름
myuser
및 비밀번호mypassword
이 사용되었습니다. 이 사용자는testdb
에 대한 읽기 액세스 권한을 가지고 있습니다.admin
데이터베이스는 사용자를 인증하는 데 사용됩니다.testdb
데이터베이스가 덤프되고 있습니다.
mongodump 'mongodb+srv://myuser:mypassword@cluster0.example.com/?authSource=admin' --db testdb
일관적인 백업 파일 생성 및 복원
oplog 항목을 사용하여 일관적인 mongodump
백업 파일을 생성하려면 mongodump --oplog
옵션을 사용하세요. 백업 파일에서 데이터를 복원하려면 mongorestore --oplogReplay
옵션을 사용하세요.
oplog에는 데이터베이스 쓰기 작업 기록이 포함되어 있습니다.
mongodump
outputs:
컬렉션 문서, 메타데이터 및 옵션.
인덱스 정의.
--oplog
가 지정된 경우mongodump
실행 중에 발생하는 쓰기입니다.
oplog 옵션과 함께 mongodump 사용
mongodump --oplog
mongodump
출력 디렉토리의 최상위 수준에 oplog.bson
이라는 파일을 만듭니다. 이 파일에는 mongodump
실행 중에 발생하는 쓰기 작업이 포함되어 있습니다. mongodump
완료 후에 발생하는 쓰기는 파일에 기록되지 않습니다.
mongodump
을(를) 사용하여 샤딩된 클러스터를 백업하려면 데이터베이스 덤프를 사용하여 자체 관리형 샤드 클러스터 백업을 참조하세요.
oplogReplay 옵션과 함께 mongorestore 사용
oplog.bson
파일에서 oplog 항목을 복원하려면 mongorestore --oplogReplay
사용하세요. mongodump --oplog
와 mongorestore --oplogReplay
를 함께 사용하여 데이터베이스를 최신 상태로 유지하고 mongodump
실행 중에 발생한 모든 쓰기 작업을 포함하도록 합니다.
자세히 알아보기
클러스터 간 마이그레이션을 위한 mongosync 유틸리티
Atlas로 데이터 마이그레이션 또는 가져오기
Atlas에서 데이터 백업, 복원 및 보관