我想在我的MacBook上进入终端的mongo shell。然而,我感兴趣的是连接到运行在云中的Mongo实例(通过Heroku插件实现的compose.io实例)。我从MongoDB URI获得了名称、密码、主机、端口和数据库名称:
mongodb://username:password@somewhere.mongolayer.com:10011/my_database
我使用Homebrew在我的MacBook上安装了mongodb,并不是因为我想让Mongo在我的Mac上运行,而只是为了访问mongo shell程序以便连接到这个远程数据库。
但是,我找不到正确的命令来获得我想要的完整shell访问权限。使用这里的说明http://docs.mongodb.org/manual/reference/program/mongo/ (搜索“远程”),我能够得到一个看起来像是连接,但没有给我的用户名或密码,我没有完全连接。运行db.auth(username, password)
返回1(而不是在我提供了不正确的用户名和密码时返回“身份验证失败”),但是在发出show dbs
命令时,我仍然收到“未授权”的错误消息。
发布于 2014-11-08 13:24:19
您可能连接正常,但没有足够的权限运行show dbs
。
如果在命令行中传递身份验证,则不需要运行db.auth:
mongo somewhere.mongolayer.com:10011/my_database -u username -p password
一旦你连接上了,你能看到收藏吗?
> show collections
如果是这样,那么一切都很好,您只是没有数据库的管理员权限,也不能运行show dbs
发布于 2016-07-23 17:26:37
在Mongo 3.2 and higher中,只需按原样使用您的连接字符串:
mongo mongodb://username:password@somewhere.mongolayer.com:10011/my_database
发布于 2020-04-16 05:09:44
另一种方法是:
mongo mongodb://mongoDbIPorDomain:port
https://stackoverflow.com/questions/26813912
复制相似问题