문서 메뉴
문서 홈
/
MongoDB Shell

배포서버에 연결하기

이 페이지의 내용

  • 전제 조건
  • 지원되는 MongoDB 버전
  • 설치 mongosh
  • MongoDB Atlas 배포서버에 연결하기
  • Atlas 연결 문자열 받기
  • 데이터베이스 자격 증명 설정
  • 다음을 사용하여 MongoDB Atlas에 연결 mongosh
  • 기본 포트에서 로컬 배포서버 연결
  • 기본 포트가 외 포트에서 로컬 배포서버 연결
  • 원격 호스트로 배포서버 연결
  • 연결 옵션 지정
  • 인증으로 연결
  • OpenID Connect로 연결
  • LDAP로 연결
  • 복제본 세트에 연결
  • TLS를 사용하여 연결
  • 특정 데이터베이스에 연결
  • 다른 배포서버에 연결
  • 현재 연결 확인
  • 배포서버에서 연결 해제
  • 정품이 아닌 배포서버
  • 제한 사항

이 페이지에서는 MongoDB Shell을 사용하여 MongoDB deployment에 연결하는 방법을 설명합니다. MongoDB Atlas 클라우드 호스팅 배포 서버에 연결하거나, 로컬 배포서버에 연결하거나, MongoDB Shell을 사용하여 다른 원격 호스트에 연결할 수 있습니다.

MongoDB Shell을 사용하려면 연결할 MongoDB deployment가 있어야 합니다.

MongoDB Shell을 사용하여 4.2 이상 버전의 MongoDB에 연결할 수 있습니다.

이 절차는 mongosh가 이미 설치되어 있다고 가정합니다. mongosh 설치에 관한 자세한 정보는 mongosh 설치에서 확인 가능합니다.

셸에서 MongoDB Atlas 배포서버에 직접 연결할 수 있습니다.

1

MongoDB 셸에서 연결하려면 Atlas 연결 문자열이 필요합니다. Atlas UI에서 Atlas 연결 문자열을 가져올 수 있습니다.

자세한 내용은 MongoDB Atlas 연결 문자열 찾기 가이드를 참조하세요.

2

데이터베이스 사용자를 아직 생성 하지 않은 경우 사용자 이름과 비밀번호를 설정해야 합니다. Atlas에 연결하려면 연결 문자열과 함께 사용자 이름을 전달합니다. Atlas에 연결할 연결 문자열입니다. 연결 명령을 실행하면 셸에서 비밀번호를 입력하라는 메시지를 표시합니다.

3

연결을 설정하려면 연결 문자열 및 연결 설정 옵션을 포함하여 mongosh 명령을 실행합니다.

연결 문자열에는 다음 요소가 포함됩니다.

  • 클러스터 이름

  • 해시

  • API 버전에 대한 플래그

  • 연결에 사용할 사용자 이름에 대한 플래그

다음 문자열과 유사합니다.

mongosh "mongodb+srv://YOUR_CLUSTER_NAME.YOUR_HASH.mongodb.net/" --apiVersion YOUR_API_VERSION --username YOUR_USERNAME

참고

자세히 알아보기

다른 연결 보안 옵션을 사용하여 mongosh 을(를) 통해 Atlas에 연결할 수 있습니다. 피어링 또는 비공개 엔드포인트 연결을 위해 비공개 IP로 연결하는 방법에 대한 자세한 내용은 mongosh를 통한 Atlas 연결 문서를 참조하세요.

기본 포트 27017로 로컬 호스트에서 실행되는 MongoDB 배포서버에 연결하려면 옵션 없이 mongosh를 실행합니다.

mongosh

이는 다음 명령과 동일합니다.

mongosh "mongodb://localhost:27017"

다음 중 하나를 사용하여 로컬 호스트에서 연결할 포트를 지정할 수 있습니다.

예를 들어 다음 명령은 다음에서 실행되는 배포에 연결합니다. localhost 포트 28015:

mongosh "mongodb://localhost:28015"
mongosh --port 28015

다음 중 하나를 사용하여 원격 호스트와 포트를 지정할 수 있습니다.

  • 선택한 호스트 및 포트가 포함된 연결 문자열 입니다.

  • --host--port 명령줄 옵션. --port 옵션을 생략하면 mongosh는 기본 포트 27017을 사용합니다.

예를 들어, 다음 명령은 mongodb0.example.com 호스트 및 28015 포트에서 실행 중인 MongoDB 배포서버에 연결합니다.

mongosh "mongodb://mongodb0.example.com:28015"
mongosh --host mongodb0.example.com --port 28015

참고

MongoDB Atlas에 연결

원격 호스트가 Atlas cluster인 경우 Atlas UI에서 연결 문자열을 복사할 수 있습니다. 자세히 알아보려면 Atlas 설명서에서 클러스터에 연결을 참조하세요.

다양한 연결 옵션을 지정하여 다양한 유형의 배포에 연결할 수 있습니다.

인증이 필요한 MongoDB 배포서버에 연결하려면 --username--authenticationDatabase 옵션을 사용합니다. mongosh가 비밀번호를 입력하라는 메시지를 표시하며, 입력하는 메시지는 숨겨집니다.

예를 들어 admin 데이터베이스에서 사용자 alice로 인증하려면 다음 명령을 실행하세요.

mongosh "mongodb://mongodb0.example.com:28015" --username alice --authenticationDatabase admin

프롬프트를 사용하는 대신 연결 명령의 일부로 비밀번호를 제공하려면 --password 옵션을 사용합니다. 드라이버와 같이 mongosh 을 프로그래밍 방식으로 사용하려면 이 옵션을 사용합니다.

다음도 참조하세요.

OpenID Connect 를 사용하여 배포서버에 연결하려면 --authenticationMechanism 옵션을 사용하고 MONGODB-OIDC 로 설정합니다. mongosh 는 ID 제공자의 로그인 정보를 입력할 수 있는 브라우저로 리디렉션합니다.

예를 들어, 아래 내용은 MONGODB-OIDC를 사용하여 로컬 배포서버에 연결합니다.

mongosh "mongodb://localhost/" --authenticationMechanism MONGODB-OIDC

LDAP를 사용하여 배포에 연결하려면 다음을 수행합니다.

경고

LDAP 인증에 일회용 비밀번호를 사용하는 경우 연결 문자열에 연결 문자열 옵션 maxPoolSize=1&srvMaxHosts=1 을 추가하여 연결 실패 가능성을 줄이는 것이 좋습니다.

MongoDB 배포서버의 --host--port 및 배포서버와 관련된 다른 옵션을 포함합니다.

예를 들어, 다음 작업은 LDAP 인증 및 권한 부여를 통해 실행 중인 MongoDB deployment를 인증합니다.

mongosh --username alice@dba.example.com --password --authenticationDatabase '$external' --authenticationMechanism "PLAIN" --host "mongodb.example.com" --port 27017

아래 방법 중 한 가지를 사용하여 복제본 세트에 연결할 수 있습니다.

DNS 시드 목록 연결 형식을 사용하려면 연결 문자열에 +srv 수정자를 포함합니다.

예를 들어 server.example.com에서 복제본 세트에 연결하려면 아래 명령을 실행합니다.

mongosh "mongodb+srv://server.example.com/"

참고

+srv TLS 동작

+srv 연결 문자열 수정자를 사용하는 경우 MongoDB가 --tls 연결 옵션을 true로 자동 설정합니다. 이 동작을 재정의하려면 --tlsfalse로 설정합니다.

연결 문자열에서 개별 복제본 세트 멤버를 지정할 수 있습니다.

예를 들어 아래 명령을 실행하여 3개 노드로 구성된 replA라는 복제본 세트에 연결할 수 있습니다.

mongosh "mongodb://mongodb0.example.com.local:27017,mongodb1.example.com.local:27017,mongodb2.example.com.local:27017/?replicaSet=replA"

참고

directConnection 매개변수 자동 추가

연결 문자열에 개별 복제본 세트 노드를 지정한 경우 아래 중 하나 이상에 해당하지 않는 한 mongoshdirectConnection=true를 자동으로 추가합니다.

  • replicaSet 쿼리 매개 변수가 연결 문자열에 존재합니다.

  • 연결 문자열이 mongodb+srv:// 형식을 사용합니다.

  • 연결 문자열에 여러 호스트가 포함된 시드 목록이 포함되어 있습니다.

  • 연결 문자열에 이미 directConnection 매개 변수가 포함되어 있습니다.

directConnection=true일 경우 모든 작업은 연결 URI가 지정한 호스트에서 실행됩니다.

다음 작업 중 하나를 실행하여 TLS를 이용해 배포서버에 연결할 수 있습니다.

  • DNS 시드 목록 연결 형식 을 사용합니다. +srv 연결 문자열 수정자는 해당 연결에 대해 tls 옵션을 true 으)로 자동 설정합니다.

    예를 들어 tls를 활성화하여 DNS 시드 목록에서 정의한 복제본 세트에 연결하려면 다음 명령을 실행합니다.

    mongosh "mongodb+srv://server.example.com/"
  • 연결 문자열에서 --tls 옵션을 true로 설정합니다.

    예를 들어 연결 문자열 옵션으로 tls를 활성화하려면 아래 명령을 실행합니다.

    mongosh "mongodb://mongodb0.example.com:28015/?tls=true"
  • --tls 명령줄 옵션을 지정합니다.

    예를 들어 tls가 활성화된 상태로 원격 호스트에 연결하려면 아래 명령을 실행합니다.

    mongosh "mongodb://mongodb0.example.com:28015" --tls

특정 데이터베이스에 연결하려면 연결 문자열 URI 경로 에 데이터베이스를 지정합니다. URI 경로에 데이터베이스를 지정하지 않으면 test 데이터베이스에 연결됩니다.

예를 들어 로컬 호스트에서 qa 데이터베이스에 연결하려면 아래 명령을 실행합니다.

mongosh "mongodb://localhost:27017/qa"

MongoDB Shell에서 이미 배포서버에 연결되어 있는 경우, Mongo() 또는 connect() 메서드를 사용하여 MongoDB Shell 내에서 다른 배포서버에 연결할 수 있습니다.

이러한 방법을 사용하여 다른 배포에 연결하는 방법을 알아보려면 새 연결 열기를 참조하세요.

현재 데이터베이스 연결을 확인하려면 db.getMongo() 메서드를 사용합니다.

이 메서드는 현재 연결에 대한 연결 문자열 URI 를 반환합니다.

배포서버의 연결을 해제하고 mongosh를 종료하려면 아래 조치 중 하나를 수행합니다:

  • .exit이나 exit, exit()를 입력합니다.

  • quit 또는 quit()를 입력합니다.

  • Ctrl + D를 누릅니다.

  • Ctrl + C를 두 번 누릅니다.

정품이 아닌 MongoDB 인스턴스에 연결하면 셸에 경고 메시지가 표시됩니다. 정품이 아닌 인스턴스는 누락되거나, 일관되지 않거나, 불완전한 기능으로 인해 공식 MongoDB 인스턴스와 다르게 작동할 수 있습니다.

  • Kerberos 인증 은 연결 문자열에 authMechanismProperties=CANONICALIZE_HOST_NAME:true|false 를 허용하지 않습니다. 대신 다음 중 하나를 사용합니다.

    • authMechanismProperties=CANONICALIZE_HOST_NAME:forward

    • authMechanismProperties=CANONICALIZE_HOST_NAME:forwardAndReverse

    • authMechanismProperties=CANONICALIZE_HOST_NAME:none

  • mongosh 현재 zlib 압축기 만 지원합니다. 다음 압축기는 지원되지 않습니다.

    • zstd

    • snappy

  • mongosh 2.0.0부터 시작.

    연결 문자열 의 부울 값의 경우 다음을 수행합니다.

    • true 또는 false 중 하나를 사용합니다.

    • true 대신 1, y, yes, t를 사용할 수 없습니다.

    • false 대신 -1, 0, n, no, f를 사용할 수 없습니다.

← 설치 mongosh