如何从Mac OS终端连接到远程mongo服务器

时间:2014-11-08 04:52:58

标签: mongodb mongo-shell

我想放入MacBook终端的mongo shell。但是,我有兴趣连接到在云中运行的Mongo实例(通过Heroku插件进行compose.io实例)。我有MongoDB URI中的名称,密码,主机,端口和数据库名称:

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

我使用Homebrew在我的MacBook上安装了mongodb并不是因为我希望在我的Mac上运行Mongo,而只是为了连接到这个远程数据库而访问mongo shell程序。

但是,我找不到合适的命令来获取我想要的完整shell访问权限。使用此处的说明http://docs.mongodb.org/manual/reference/program/mongo/(搜索“远程”)我能够获得看起来像连接的内容,但是没有提供我的用户名或密码,我没有完全连接。当我提供错误的用户名和密码时,运行db.auth(username, password)返回1(而不是“auth failed”),但是在发出show dbs命令时,我仍然收到“未授权”错误消息。

3 个答案:

答案 0 :(得分:156)

您可能连接正常,但没有足够的权限来运行show dbs

如果在命令行中传递auth,则不需要运行db.auth:

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

连接后你能看到收藏吗?

> show collections

如果是这样,一切都很顺利,您只是没有数据库的管理员权限,无法运行show dbs

答案 1 :(得分:43)

使用Mongo 3.2 and higher只需按原样使用连接字符串:

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

答案 2 :(得分:0)

另一种方法是:

mongo mongodb://mongoDbIPorDomain:port