programing

mongoddump를 mongodb 지도책과 함께 사용하기

i4 2023. 6. 25. 18:23
반응형

mongoddump를 mongodb 지도책과 함께 사용하기

어떤 이유에서인지 연결 문자열을 사용하여 아틀라스에 연결할 수 없고 mongo를 사용하는 대신 mongodump를 사용합니다.저는 모든 종류의 끈을 사용해 보았습니다.

그래서 내가 mongo를 mongodump로 교체할 때 "위치 인수가 허용되지 않음"을 받거나 내가 받습니다.

호스트를 "mongo://replset1:27017,replset2:27017,replset3:271017/test?replicaSet=repliceSetName"에서 --host replicaSet/replset1:27017,replset3:27017,replset3:27017로 변경할 때 "db:연결 오류"

여기서 무슨 문제가 있는지 아는 사람.

mongo 클라이언트를 사용하여 연결할 수 있다는 것을 기억하세요.

현재 mongoDB Atlas에는 클러스터의 "명령줄 도구" 섹션에 "mongodump"에 대한 복사 및 붙여넣기 옵션이 있습니다.mongoDB Atlas 클러스터에 처음 로그인합니다.다음으로 화면 왼쪽에서 "클러스터"가 선택되었는지 확인합니다.그런 다음 "개요"와 "보안" 두 가지 옵션이 표시됩니다. "개요"가 선택되었는지 확인하십시오."개요" 바로 아래에 "모래 상자"가 표시됩니다."샌드박스"에서 클릭 가능한 링크인 클러스터의 이름을 확인한 후 클릭합니다.그런 다음 "명령줄 도구"를 클릭할 수 있는 여러 개의 선택적 링크가 표시됩니다.여기에는 "mongodump"에 대한 복사 및 붙여넣기 옵션이 표시됩니다.

srv 문자열이 있는 경우.
간단하게 할 수 있습니다.mongodump --uri=mongodb+srv://xxx:yyy@cluster0-whatever.mongodb.net.
이것은 나를 위해 일을 바로 하는 것처럼 보였습니다 :)

저의 경우, 저는 마침내 이런 식으로 얻었습니다.

# mongodump -d DB-NAME -u SUPERUSER -p "SUPERUSER-PASSWORD" -o "PATH/TO/DUMP/FOLDER" --authenticationDatabase AUTH-DB --ssl --port 27017 -h "REPLICA-SET-NAME/CLUSTER-SHARD-00-00,CLUSTER-SHARD-00-01,CLUSTER-SHARD-00-02"

위치:

  • DB-NAME:백업할 데이터베이스의 이름
  • 수퍼유저:모든 권한이 있는 사용자 이름, 클러스터를 생성할 수 있는 사용자 이름
  • SUPERUSER-PASSWORD: 자체 설명 ;)
  • 경로/대상/덤프/폴더:덤프를 저장할 위치
  • AUTH-DB:인증을 위한 데이터베이스는 기본적으로 "admin"이라고 합니다.
  • REPICAL-SET-NAME:"cluster-name-shard-0" 형식으로 설정된 복제본 이름
  • 클러스터-샤드: 클러스터 샤드 IE: "cluster-name-shard-00-00-kb2rd.mongodb.net, cluster-name-shard-00-01-kb2rd.mongodb.net, cluster-name-shard-00-02-kb2rd.mongodb.net "

2021년 2월 기준 mongoDB v4.4; 당신은 사용할 수 있습니다.

mongodump --uri mongodb+srv://<USERNAME>:<PASSWORD>@cluster-name.mongodb.net/<DATABASE> 

N.B: 작동하지 않으면 데이터베이스 이름을 생략합니다.

@charliecode에서 언급했듯이, MongoDB Atlas는 실제로 mongodump/mongorestore/mongoexport/mongoimport의 올바른 사용 방법을 보여줍니다.Atlas GUI에서 클러스터를 방문하여 명령줄 도구(추가 옵션 아래에 숨김)를 열고 아래로 스크롤하여 다음이 표시됩니다.

mongodump --uri mongodb+srv://<username>:<PASSWORD>@made-up-url.5a45j.mongodb.net/<DATABASE>

하지만 저는 약간의 변화를 추천합니다.<password>URI에서 암호에 특수 문자가 포함되어 있을 가능성이 높고 명령에 인코딩되지 않은 암호를 직접 사용하는 것은 성가시고 안전하지 않기 때문입니다. mongodump는 나중에 암호를 입력하라는 메시지를 표시합니다.

mongodump --uri mongodb+srv://<username>@made-up-url.5a45j.mongodb.net/<DATABASE>

통증이 없는.

mongo atlas에서 데이터베이스를 덤프할 때마다 이 명령을 사용합니다.이게 도움이 되길 바랍니다.해피 코딩...:)

mongodump -d $dbName -u $username -p $password \
-o . --authenticationDatabase admin --ssl --port 27017 \
-h $hostname

동일한 오류가 발생하지만 다음 해결 방법이 적용되었습니다.백업 터널을 통해 DB의 최신 스냅샷에 연결할 수 있는 것 같습니다.기본적으로 지정된 포트에서 MongoDB 서버를 에뮬레이트할 수 있습니다.이는 'mongodump'와 같이 정기적으로 연결할 수 있음을 의미합니다.

공식 문서 링크 - https://docs.atlas.mongodb.com/restore-queryable-backup/

mongodump --hosthostname --hostname --hostname --passwordusername --password password --db 데이터베이스 이름 --out 폴더 위치

mongodump --uri "your_syslog_connection_string"

Atlas 연결 문자열에는 사용자 이름, 암호 및 데이터베이스 이름이 포함됩니다.--out 디렉토리를 선택할 수 있습니다.

   Anil-iMac:bin anil$ ./mongodump --uri "mongodb+srv://USER_NAME:PASSWORD@mongoatlaslitehrm.0cfre.gcp.mongodb.net/YOUR_DB_NAME?authSource=admin&replicaSet=atlas-m2x7xg-shard-0&readPreference=primary&appname=MongoDB%20Compass%20Community&ssl=true" --out /Users/anil/Development/Personal/mongodb-database-tools-macos-x86_64-100.1.1/bin/bkup 

먼저 Atlas 클러스터에 대한 네트워크 액세스가 올바른지 확인합니다.원격 덤프를 생성하려면 인스턴스 IP를 Atlas IP 액세스 목록에 추가합니다.

sudo mongodump --uri mongodb+srv://admin:Anson_Alexander%40123@AAC-testing-cluster.ey913.mongodb.net/<NAME_OF_REQUIRED_DB>?authSource=admin&replicaSet=atlas-rz#80g0-shard-0&readPreference=primary&appname=MongoDB%20Compass&ssl=true --out <LOCATION>

언급URL : https://stackoverflow.com/questions/46653895/using-mongodump-with-mongodb-atlas

반응형