[mongodb] Mac OS 터미널에서 원격 mongo 서버에 연결하는 방법

MacBook의 터미널에있는 mongo 셸에 들어가고 싶습니다. 그러나 클라우드에서 실행중인 Mongo 인스턴스 (Heroku 애드온을 통한 compose.io 인스턴스)에 연결하는 데 관심이 있습니다. MongoDB URI의 이름, 암호, 호스트, 포트 및 데이터베이스 이름이 있습니다.

mongodb://username:password@somewhere.mongolayer.com:10011/my_database

Mac에서 Mongo를 실행하기를 원하기 때문이 아니라이 원격 데이터베이스에 연결하기 위해 mongo 셸 프로그램에 액세스하기 위해 Homebrew를 사용하여 MacBook에 mongodb를 설치했습니다.

그러나 원하는 전체 셸 액세스 권한을 얻을 수있는 올바른 명령을 찾을 수 없습니다. http://docs.mongodb.org/manual/reference/program/mongo/ ( “remote”검색) 여기에있는 지침을 사용 하여 연결처럼 보이는 것을 얻을 수 있지만 사용자 이름이나 암호를 제공하지 않고는 그렇지 않습니다. 완전히 연결되었습니다. 실행하면 db.auth(username, password)1이 반환되지만 (잘못된 사용자 이름과 암호를 제공 할 때 “인증 실패”가 아님) show dbs명령을 실행할 때 계속 “승인되지 않은”오류 메시지가 나타납니다 .



답변

당신은 아마 잘 연결하고 있지만 실행할 충분한 권한이 없습니다 show dbs.

명령 줄에서 인증을 전달하면 db.auth를 실행할 필요가 없습니다.

mongo somewhere.mongolayer.com:10011/my_database -u username -p password

연결되면 컬렉션을 볼 수 있습니까?

> show collections

모든 것이 정상이고 데이터베이스에 대한 관리자 권한이없고 실행할 수없는 경우 show dbs


답변

Mongo 3.2 이상 에서는 연결 문자열을 그대로 사용하십시오.

mongo mongodb://username:password@somewhere.mongolayer.com:10011/my_database


답변

이를 수행하는 또 다른 방법은 다음과 같습니다.

mongo mongodb://mongoDbIPorDomain:port


답변