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

问题描述 投票:0回答:4

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

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

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

但是,我找不到正确的命令来获得我想要的完整 shell 访问权限。使用此处找到的说明http://docs.mongodb.org/manual/reference/program/mongo/(搜索“remote”)我能够获得看起来像连接的内容,但无需提供我的用户名或密码我没有完全连接。运行

db.auth(username, password)
返回 1(与我提供不正确的用户名和密码时的“身份验证失败”相反),但在发出
show dbs
命令时,我继续收到“未经授权”的错误消息。

mongodb mongo-shell
4个回答
193
投票

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

show dbs

如果在命令行中通过了 auth,则不需要运行 db.auth:

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

连接后您可以看到收藏吗?

> show collections

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

show dbs


69
投票

对于 Mongo 3.2 及更高版本,只需按原样使用连接字符串:

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

2
投票

另一种方法是:

mongo mongodb://mongoDbIPorDomain:port

0
投票

打开cmd并运行下面的字符串作为示例

 mongosh mongodb+srv://{username}:{password}@{domain}

example as below
mongosh mongodb+srv://{username}:{password}@preorder-cluster-3f568a42.mongo.ondigitalocean.com
© www.soinside.com 2019 - 2024. All rights reserved.