나침반 연결 오류
이 페이지의 내용
이 페이지의 섹션에는 MongoDB Compass를 연결할 때 표시되는 일반적인 오류가 나열되어 있으며 가능한 해결책을 제공합니다.
제공된 호스트 및 포트에서 MongoDB가 실행되지 않음
Compass가 지정된 호스트 및 포트에서 데이터베이스에 연결을 시도할 때 연결이 실패했습니다.
가능한 원인
이 오류는 주로 다음과 같은 경우에 발생합니다:
Compass 연결 대화 상자에 호스트 이름을 입력하지 않거나 잘못된 호스트 이름을 입력합니다.
대상 서버가 잘못된 포트에서 연결을 거부합니다.
MongoDB 클러스터 또는 서버가 종료되었거나 서버의 호스트 이름이 변경되었습니다.
로컬 네트워크와의 연결을 적극적으로 차단하는 방화벽이 있습니다.
솔루션
이 문제에 대한 해결책은 MongoDB 환경이 구성된 방식에 따라 달라질 수 있습니다. MongoDB 환경에 적합한 탭을 선택하여 가능한 해결책을 확인합니다.
자체 호스팅 MongoDB 서버, 복제본 세트 또는 클러스터가 있는 경우 다음 해결책을 시도해 보세요.
MongoDB 인스턴스가 실행 중인지 확인합니다
Compass는 실행 중인 MongoDB 인스턴스에 연결되어야 합니다. 반드시 MongoDB를 설치하고 mongod 프로세스가 실행 중인지 확인하십시오. 또한 MongoDB 인스턴스가 실행 중인 포트가 Compass 연결 대화 상자에 제공한 포트와 일치하는지 확인해야 합니다.
필수 구성 파일 설정: bindIp
MongoDB 데이터베이스 서버를 최근에 설치했으며 해당 서버에 초기 연결을 설정할 수 없는 경우, 서버의 net.bindIp
설정이 올바르게 지정되었는지 서버 구성 파일을 확인하세요.
호스트 이름 및 포트
자체 호스팅 서버가 net.bindIp
를 통해 외부 네트워크에서 수신 대기하는 경우, Compass 연결 대화 상자에서 Hostname 및 Port를 올바르게 지정했는지 확인합니다.
MongoDB 서버 이동 또는 종료
MongoDB 클러스터 또는 서버가 종료되었거나 호스트 이름이 변경되었을 수 있습니다. 데이터베이스의 상태에 대한 업데이트는 데이터베이스 관리자에게 문의하세요.
방화벽
방화벽이 데이터베이스가 작동하는 포트에 대한 연결을 적극적으로 차단하고 있다고 생각되면 집이나 인터넷 카페 네트워크와 같은 다른 위치에서 연결해 보세요. http://portquiz.net/에 방문하여 다른 포트와의 연결을 테스트할 수도 있습니다.
Atlas 클러스터에 연결하는 경우 먼저 Atlas 설명서의 Compass를 통해 연결 페이지에 설명된 절차를 따르세요. 해당 페이지의 단계는 연결 설정이 Atlas에 최적화되도록 하는 데 도움이 됩니다.
MongoDB 서버 이동 또는 종료
MongoDB 클러스터 또는 서버가 종료되었거나 호스트 이름이 변경되었을 수 있습니다. 데이터베이스의 상태에 대한 업데이트는 데이터베이스 관리자에게 문의하세요.
방화벽
방화벽이 데이터베이스에 대한 연결을 적극적으로 차단하고 있다고 생각되면 집이나 인터넷 카페 네트워크와 같은 다른 위치에서 연결을 시도해보세요.
Atlas 클러스터는 포트 27017에서 작동합니다. 클러스터에 액세스하려면 이 포트에 액세스할 수 있어야 합니다. 로컬 네트워크가 포트 27017에 대한 연결을 차단하는지 확인하려면 http://portquiz.net:27017/에서 확인하세요.
Atlas IP 화이트리스트에 사용자 주소가 포함되어 있지 않음
Atlas는 프로젝트 IP 화이트리스트에 나열된 주소에서만 클러스터 연결을 허용합니다. 클러스터에 연결할 수 있도록 IP 주소를 화이트리스트에 추가했는지 확인하세요.
문서 삽입 단추가 비활성화되어 문서를 수정할 수 없습니다.
Compass를 사용하는 경우 쓰기 작업을 수행할 수 없고 데이터 읽기만 가능한 상태가 될 수 있습니다.
가능한 관찰 사항
이 상태인 경우:
Create Collection 및 Insert Document 버튼이 비활성화됩니다.
문서를 수정할 수 없습니다.
가능한 원인
이러한 행동의 원인은 두 가지가 있을 수 있습니다:
쓰기 작업을 지원하지 않는 클러스터의 세컨더리 멤버에 연결되어 있습니다.
쓰기 작업을 지원하지 않는 Compass Readonly 버전을 사용하고 있습니다.
솔루션
읽기 환경 설정 확인
Compass 연결 대화 상자에서 Read Preference를 Primary로 설정합니다. 이렇게 하면 쓰기 작업을 지원하는 클러스터의 프라이머리 노드에 연결할 수 있습니다.
복제본 세트 이름 확인
Replica Set Name이 정확한지 확인합니다. Compass는 복제본 세트 이름이 정확한 경우에만 프라이머리를 올바르게 식별할 수 있습니다.
만약 클러스터가 Atlas에서 호스팅되는 경우 다음 절차를 사용하여 올바른 복제본 세트 이름을 얻을 수 있습니다.
Atlas Clusters 뷰로 이동합니다.
원하는 클러스터의 Connect 을 클릭합니다.
Connect with MongoDB Compass를 클릭합니다.
제공된 연결 문자열을 복사하세요.
MongoDB Compass를 엽니다.
연결 설정을 자동으로 채우려면 Yes를 클릭합니다.
Compass 에디션 확인
Compass Readonly 에디션에서는 쓰기 작업을 수행할 수 없습니다. 최상위 Compass 드롭다운 메뉴를 열고 About MongoDB Compass를 선택하여 Compass 에디션을 확인할 수 있습니다.
쓰기 작업을 수행하려면 MongoDB Compass의 다른 에디션을 다운로드해야 합니다. Compass 에디션 간의 차이점에 대한 자세한 내용은 Compass 에디션의 기능을 참조하세요.
클러스터 샤드에 대한 연결 종료
이 오류는 초기 설정이 완료되기 전에 MongoDB 클러스터에 대한 연결이 닫혔음을 의미합니다.
가능한 관찰 사항
MongoDB Compass에서 다음과 유사한 오류가 표시될 수 있습니다:
connection 3 to cluster0-shard-00-00-a1b2c.mongodb.net:27017 closed
가능한 원인
이 오류의 가장 일반적인 원인은 Compass가 실행 중인 공용 IP 주소에 대한 Atlas IP 화이트리스트 항목이 누락된 경우입니다.
솔루션
Compass가 실행 중인 공용 IP 주소가 Atlas 프로젝트의 IP 화이트리스트에 포함되어 있는지 확인합니다.
Atlas 화이트리스트를 구성하려면 다음과 같이 하세요:
Atlas의 왼쪽 상단에 있는 Context 드롭다운을 사용하여 원하는 Atlas 프로젝트를 선택합니다.
Security 탭을 클릭합니다.
IP Whitelist 메뉴 옵션을 클릭합니다.
IP 주소가 화이트리스트에 없는 경우 Add IP Address를 클릭합니다.
Add Current IP Address를 클릭합니다.
Confirm를 클릭합니다.
Atlas는 화이트리스트의 어떤 항목이 현재 IP 주소를 포함하는지 인식하고 이러한 주소에 (includes your current IP address)를 추가합니다.
프라이머리 또는 세컨더리가 아닌 경우 쓰기 불가
이 오류 메시지는 올바른 복제본 세트 이름을 제공하지 않고 복제본 세트의 세컨더리 멤버 중 하나에 연결했으며 동시에 Read Preference의 프라이머리 멤버에 연결해야 함을 나타냅니다.
솔루션
Atlas 복제본 세트 이름 확인
Compass 연결 대화 상자에 올바른 복제본 세트 이름을 제공하고 있는지 확인해야 합니다.
만약 클러스터가 Atlas에서 호스팅되는 경우 다음 절차를 사용하여 올바른 복제본 세트 이름을 얻을 수 있습니다.
Atlas Clusters 뷰로 이동합니다.
원하는 클러스터의 Connect 을 클릭합니다.
Connect with MongoDB Compass를 클릭합니다.
제공된 연결 문자열을 복사하세요.
MongoDB Compass를 엽니다.
연결 설정을 자동으로 채우려면 Yes를 클릭합니다.
Compass가 세컨더리에 연결하도록 허용하기
이 오류를 해결하는 또 다른 방법은 Compass가 세컨더리 클러스터 멤버에 연결하도록 허용하는 것입니다. 연결 설정에서 Read Preference를 Primary Preferred 또는 Secondary Preferred로 변경하세요. 이렇게 하면 이 오류를 우회하여 연결할 수 있습니다.
참고
세컨더리 멤버에 연결하면 문서, 인덱스 또는 데이터베이스를 생성하거나 수정할 수 없습니다. 쓰기 작업을 수행할 필요가 없는 경우에만 이 솔루션을 사용하십시오.
인증 실패
Compass를 사용하여 클러스터에 연결하려고 할 때 Authentication Failed라는 오류 메시지가 표시될 수 있습니다.
가능한 원인
이 오류 메시지는 대개 5가지 조건 중 하나로 인해 발생하는 경우가 많습니다:
복사된 연결 문자열에서 연결 세부정보를 자동 완성한 후 Password가 누락되었습니다. Compass에서는 보안 예방 조치로 연결 대화 상자에 비밀번호의 수동 입력을 요구합니다.
Username 및/또는 Password가 올바르지 않습니다.
Atlas 클러스터에 대해 MongoDB 사용자를 구성하지 않았습니다.
올바른 Authentication 메서드를 선택하지 않았습니다.
올바른 Authentication Database(을)를 지정하지 않았습니다. 이 설정은 authSource 연결 문자열 옵션에 해당합니다.
참고
Atlas 클러스터의 경우 Authentication Database은 일반적으로
admin
입니다.
솔루션
올바른 Username 및 Password를 입력했는지 확인합니다.
인증하려는 MongoDB 사용자가 존재하는지 확인합니다.
Authentication Database 및 인증 메커니즘을 확인합니다.
선택한 인증 메커니즘이 MongoDB database에서 지원되는지 확인하세요.
Compass 로그 확인
Compass 로그는 연결 오류에 대한 추가 정보를 제공할 수 있습니다. 문제를 진단하는 데 도움이 되는 자세한 오류 메시지를 확인할 수 있습니다. 자세한 내용은 Compass 로그 조회를 참조하세요.