如何使用MLab连接字符串连接MongoDB Compass

23

我将数据库托管在MLab上,现在正在尝试使用Compass连接它。我使用连接字符串中给出的主机和端口,但是遇到了错误。以下是我的屏幕截图:

Compass

我做错了什么?

6个回答

45

我也遇到了同样的问题,并通过以下方式解决:

mLab user tab

A. 进入mlab中的数据库,在选项卡中选择“用户”

B. 创建一个新用户,例如:用户名:admin 密码:123456

C. 前往Compass,填写以下信息

连接路径示例

ds012345.mlab.com:56789/myDBname

主机名

ds012345.mlab.com

端口号

56789

认证:用户名/密码

admin // 或者您在步骤A中创建的用户名
123456 // 或者您在步骤A中为该用户设置的密码

认证数据库

myDBname // mlab中您的数据库名称


5
对我来说,“认证数据库”是个问题。 - AutumnSky
9
主要的是“身份验证数据库”,默认情况下由管理员管理。 - Rohit Sharma
3
这应该被设定为正确答案!解决了我的问题。 - Raphael Schubert
1
已解决!但我仍然不理解为什么需要创建另一个数据库用户。 - fedeteka

12

我曾经遇到过同样的问题。

通过更新我的MongoDB Compass版本来解决了这个问题。在1.15.4版本中没有遇到任何问题。

另外,认证数据库不应该有“admin”这个值,而是应该连接数据库的名称。

为了更方便地连接数据库,请将整个连接字符串复制到剪贴板中。Compass会检测到它并提供自动填充连接表单的选项。


1
是的,“认证数据库”意味着“您想要连接的数据库”。 - kol

10

我的问题是Compass自动填充的身份验证数据库与我的设置不符。默认情况下,它指向admin,但需要指向用户所关联的数据库。

总结一下:没有admin数据库。

为了排除这个问题,请仔细检查你指向的数据库。它应该在名称中,比如ds739176/database_name,其中database_name就是你的数据库名字。

希望这可以帮助你。


是的,对我来说也完全是这种情况! - maesk

4

所需的凭证不是您在 MLab 登录使用的凭证, 而是数据库用户凭证。

如何获取它们:

  1. 点击 MLab 上的数据库。

  2. 转到“用户”选项卡并创建新用户。

  3. 使用已创建的用户凭据访问数据库。

  4. 将身份验证数据库设置为您的数据库。


3
我有同样的问题。MongoDB url在代码中可以正常工作,但在MongoDB Compass中显示“Authentication failed”。
当我查看时,我的mongodb密码是“iam%40me1234”。
在这里,我在密码中使用了HTML十六进制代码“%40”,表示“@”字符。
因此,如果我们在MongoDB Compass中使用原始字符(如“iam@me1234”)作为密码,则会很好地工作。
这里是十六进制代码的完整列表。

0
我做的事情:
  1. 在Compass中点击“逐个填写连接字段”选项。
  2. 输入主机名(例如 ds051234.mlab.com)。
  3. 输入PORT(例如12345)。
  4. 在身份验证选项中选择用户名/密码。
  5. 输入用户名和密码(在mlab.com上为您的数据库创建一个新用户)。
  6. 身份验证数据库(只需在此字段中输入“数据库名称”。例如:heroku_8967jgy5)
我希望这能帮助到您。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接