이 기사는 Mongo Shell을 사용하여 MongoDB 데이터베이스에 연결하는 것을 설명합니다. 호스트, 포트, 인증, SSL 및 읽기 환경 설정의 매개 변수를 포함하여 연결 문자열 형식에 대해 자세히 설명합니다. 인증과 같은 공통 연결 오류 문제 해결
mongo
Shell을 사용하여 MongoDB 데이터베이스에 연결하려면 일반적으로 연결 문자열을 사용합니다. 가장 간단한 형태는 기본 포트 (27017)에서 실행되는 로컬 MongoDB 인스턴스에 연결됩니다.
<code class="bash">mongo</code>
이 명령은 MongoDB가 로컬 컴퓨터에서 실행 중이며 기본 포트에서 듣고 있다고 가정합니다. MongoDB 인스턴스가 다른 호스트 또는 포트에서 실행중인 경우 연결 문자열에이를 지정해야합니다. 예를 들어, 포트 27018
의 localhost
에서 실행되는 MongoDB 인스턴스에 연결합니다.
<code class="bash">mongo localhost:27018</code>
또는 포트 27017
의 mydatabase.example.com
의 원격 서버에서 실행되는 MongoDB 인스턴스에 연결하려면 :
<code class="bash">mongo mydatabase.example.com</code>
명령을 실행 한 후 Mongo Shell은 연결하고 연결하는 현재 데이터베이스 (일반적으로 admin
)를 표시합니다. 그런 다음 use
명령 (예 : use mydatabase
)을 사용하여 다른 데이터베이스로 전환 할 수 있습니다. mydatabase.example.com
및 27018
과 같은 자리 표시자를 실제 서버 주소 및 포트 번호로 교체해야합니다.
MongoDB 연결 문자열에는 연결을 사용자 정의하기 위해 다양한 매개 변수가 포함될 수 있습니다. 다음은 몇 가지 일반적인 것입니다.
mongodb://<host>:<port></port></host>
: 이것은 호스트와 포트를 지정하는 기본 형식입니다. 포트가 27017 인 경우 생략 할 수 있습니다.username
및 password
: 인증에 사용 (아래에서 더 자세히 설명). 이들은 종종 연결 문자열 자체의 일부로 포함되지만 보안상의 이유로 환경 변수 또는 전용 인증 메커니즘이 일반적으로 선호됩니다.database
: 성공적인 인증시 연결할 기본 데이터베이스를 지정합니다.authSource
: 인증 할 데이터베이스를 지정합니다. 인증을 사용할 때는 사용자 자격 증명이 포함 된 데이터베이스를 나타냅니다. 생략하면 database
매개 변수로 지정된 데이터베이스 또는 데이터베이스가 지정되지 않은 경우 admin
에게 기본값이 표시됩니다.authMechanism
: 사용할 인증 메커니즘을 지정합니다. 일반적인 메커니즘에는 SCRAM-SHA-1
(권장) 및 MONGODB-CR
포함됩니다. 이것은 안전한 연결에 특히 중요합니다.replicaSet
: 고 가용성을 위해 연결하도록 설정된 복제본의 이름을 지정합니다.ssl
또는 tls
: 보안 연결을 위해 SSL/TLS 암호화를 활성화합니다. 이것은 생산 환경에 적극 권장됩니다. 인증서 경로와 같은 추가 매개 변수를 제공해야 할 수도 있습니다.readPreference
: 읽기 환경 설정을 지정합니다 (예 : primary
, secondary
, secondaryPreferred
nearest
). 이는 복제 세트의 멤버가 읽기 작업에 사용되는 경우에 영향을 미칩니다.이러한 여러 매개 변수를 통합 한 더 복잡한 연결 문자열은 다음과 같습니다.
<code class="bash">mongo "mongodb://myuser:mypassword@mydatabase.example.com:27017/?authSource=admin&authMechanism=SCRAM-SHA-1&ssl=true"</code>
자리 표시 자 값을 실제 자격 증명 및 연결 세부 정보로 바꾸는 것을 잊지 마십시오.
연결 오류는 다양한 문제에서 비롯 될 수 있습니다. 다음은 일반적인 문제 및 문제 해결 단계에 대한 분석입니다.
netstat -tulnp | grep mongo
사용하십시오 netstat -tulnp | grep mongo
(Linux/MacOS) 또는 유사한 명령을 확인하십시오.authSource
제공해야합니다. 인증 관련 오류는 MongoDB 서버 로그를 확인하십시오.오류가 발생하면 오류 메시지를주의 깊게 검사하십시오. 그것은 종종 문제의 본질에 대한 힌트를 제공합니다. 오류 메시지를 기반으로보다 구체적인 문제 해결 지침은 MongoDB 문서를 참조하십시오.
보안 MongoDB 데이터베이스에 연결하려면 인증 자격 증명을 제공해야합니다. 가장 안전한 방법은 연결 문자열에 자격 증명을 직접 포함시키는 것을 피하는 것입니다. 대신 X.509 인증서와 같은 환경 변수 또는 인증 메커니즘을 사용하십시오. 그러나 데모를 위해 연결 문자열에 자격 증명을 포함시키는 방법을 보여줍니다.
<code class="bash">mongo "mongodb://myuser:mypassword@mydatabase.example.com:27017/?authSource=admin&authMechanism=SCRAM-SHA-1"</code>
실제 사용자 이름, 암호, 서버 주소 및 인증 데이터베이스로 "myuser"
, "mypassword"
, "mydatabase.example.com"
및 "admin"
각각 교체하십시오. authMechanism=SCRAM-SHA-1
권장 인증 메커니즘을 지정합니다. 사용자 myuser
authSource
(이 경우 admin
데이터베이스)가 지정된 데이터베이스에 존재하고 대상 데이터베이스에 액세스하는 데 필요한 권한이 있는지 확인하십시오.
문자열에 직접 자격 증명을 저장하는 것은 보안 위험입니다. 생산 환경의 경우 환경 변수 또는 전용 인증 메커니즘과 같은보다 강력한 인증 방법을 활용하여 보안을 향상시킵니다. 데이터베이스 연결 보안에 대한 모범 사례는 항상 공식 MongoDB 문서를 참조하십시오.
위 내용은 Mongo Shell을 사용하여 MongoDB 데이터베이스에 어떻게 연결합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!