programing

오류: mongodb를 연결하는 윈도우즈에서 유닉스 소켓을 지원하지 않습니다.

jooyons 2023. 7. 9. 11:06
반응형

오류: mongodb를 연결하는 윈도우즈에서 유닉스 소켓을 지원하지 않습니다.

저는 mongodb에 접속하기 위해 로보몽고 도구를 사용하고 있습니다.내 DB에 연결할 때

enter image description here

오류 세부 정보 표시

enter image description here

어떻게 고칠까요?

동일한 문제가 있었고 전체 URL을 제거하여 해결할 수 있었습니다(예:mongodb://myuser:mypassword@mongodb-test.mydomain.com/my_database) 연결 탭에서 mongodb 서버 URL만 입력합니다.mongodb-test.mydomain.com.

그런 다음 인증 탭에서 인증 수행 확인란을 선택하고 데이터베이스, 사용자 이름, 암호를 지정했습니다.

만약을 위해 Advanded 탭에도 데이터베이스를 추가했고 이제 오류 없이 연결할 수 있습니다.

다음과 같은 경우에만 삽입해 보십시오.ds12345.mlab.com만원이 아니라 주소 바에서[http:// mongodb://<dbuser>:<dbpassword>@...]인증할 사용자 생성mlab.com연결을 시도합니다.이와 같은 것:

enter image description here

그리고 나서:

enter image description here

이 답변은 부분적으로만 문제와 관련이 있지만, 여기서 해결책을 설명하고자 합니다.

로보3로 연결할 때 문제가 발생했습니다.Atlas에서 호스팅되는 MongoDB 클러스터에 T.프로토콜이 앞에 있는 연결 문자열을 제공합니다(예:mongodb+srv://<USER>:<PASSWORD>@database-mongodb.net/admin이것은 두 가지 문제의 조합이었습니다.

  1. Robo3T는 프로토콜을 좋아하지 않습니다.mongodb+srv://우리당에두 번째 부분만 사용해야 합니다.@) 예:database-mongodb.net.
  2. 로보3T는 파편을 좋아하지 않습니다.적어도 저는 그 연결 문자열을 통해 연결할 수 없었습니다.샤드에 연결하려면 프로토콜이 필요한 것으로 알고 있습니다.그런 종류의 URI를 사용할 수 없으므로 주 샤드에 직접 연결해야 합니다.이렇게 하려면 기본 샤드의 URI를 사용하여 새 연결 문자열을 작성해야 합니다.다음과 같이:database-shard-00-00-vemhh.mongodb.net로보3T에 포트를 제공합니다.또한 MongoDB Atlas(Robo3T에서 직접 구성된 자체 서명 인증서가 작동됨)를 사용하는 경우 SSL을 통해 연결해야 합니다.

제거만[http://]나를 위해 일했습니다.

최신 버전의 Robo3T 클라이언트를 가져옵니다. +srv 링크에서 자동으로 가져올 수 있습니다.

Robo 3T 1.3.1

저도 같은 문제에 직면했지만, Robo 3T 1.3을 설치하고 MongoDB SRV 연결 문자열에서 연결 세부 정보를 가져오면 해결할 수 있습니다.참조:

Robo 3T 1.3에서 원격 DB를 연결하는 단계

Authentication(인증) 탭에서 연결 문자열 및 패스의 사용자를 교체해야 합니다.

그런데 사진에 있는 연결 문자열은 더미입니다.

언급URL : https://stackoverflow.com/questions/38279643/error-no-unix-socket-support-on-windows-connecting-mongodb

반응형