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

问题描述:

我想放入MacBook终端的mongo shell。不过,我有兴趣连接到在云中运行的Mongo实例(通过Heroku插件实现的compose.io实例)。我有名字,密码,主机,端口和数据库从MongoDB的URI名称:如何从Mac OS终端连接到远程mongo服务器

mongodb://username:[email protected]:10011/my_database 

我一直在使用自制软件装不上我的MacBook MongoDB的,因为我想蒙戈我的Mac上运行,但只是为了获得进入到mongo shell程序以连接到这个远程数据库。

但是,我无法找到正确的命令来获得我想要的完整shell访问权限。使用这里找到的指令http://docs.mongodb.org/manual/reference/program/mongo/(搜索“远程”)我能够得到看起来像一个连接,但没有给我的用户名或密码我没有完全连接。运行db.auth(username, password)返回1(与提供不正确用户名和密码的“auth失败”相反),但在发出show dbs命令时,我仍然收到“未授权”错误消息。

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

你并不需要运行db.auth如果你通过在命令行中的身份验证:

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

一旦你连接,你可以看到收藏?

> show collections 

如果是的话一切都很好,你只是没有管理权限到数据库中并不能运行show dbs

+0

我可以使用您描述的技术进行连接。但是,我无法运行任何命令,例如“显示集合”或“显示用户”。我渴望得到“未经授权查询my_db.system.namespaces”错误。 – jononomo 2014-11-10 18:06:56

+1

好吧,所以heroku随机将我的mongo数据库命名为与我在dev中使用的名称不同的名称。我认为这基本上是我的问题。 – jononomo 2014-11-10 18:27:51

+0

但是如果我有?authSource = admin到底。它不起作用。 --authenticationDatabase不起作用。 – RomKazanova 2016-04-14 08:28:27

随着蒙戈3.2 and higher只需使用您的连接字符串是:

mongo mongodb://username:[email protected]:10011/my_database 
+3

请注意,您需要mongo shell v3.2或更高版本才能正常工作。请参阅https://jira.mongodb.org/browse/SERVER-6233 – 2016-10-11 18:15:08