MongoDB和Robomongo:Can';t连接(身份验证)

MongoDB和Robomongo:Can';t连接(身份验证),mongodb,Mongodb,我有以下用户: { "_id" : "admin.root", "user" : "root", "db" : "admin", "roles" : [ { "role" : "root", "db" :

我有以下用户:

{
    "_id" : "admin.root",
    "user" : "root",
    "db" : "admin",
    "roles" : [
        {
            "role" : "root",
            "db" : "admin"
        }
    ]
}
对于我的数据库:

{
    "_id" : "mydb.mydbDbOwner",
    "user" : "mydbDbOwner",
    "db" : "mydb",
    "roles" : [
        {
            "role" : "dbOwner",
            "db" : "mydb"
        }
    ]
}
我无法通过本地主机上的Robomongo连接:

这同样适用于

数据库:mydb
用户名:root
数据库:mydb
用户名:mydbowner

如何解决此问题?

Robomongo 0.8.x不支持新的SCRAM-SHA-1身份验证,这是MongoDB 3.0中添加的默认身份验证方法

Robomongo 0.9.0 RC4(2016年2月)增加了对SCRAM-SHA-1的支持,但如果您使用的是现代版本的MongoDB服务器,则应升级到当前可用的最新版本的Robomongo(现为Robo3T)

还有一个官方维护的免费GUI,它比Robo3T更新得更积极。MongoDB Compass 1.22+(2020年9月)包括一个。

您可以尝试(一个基于网络的工具)

但是,根据需要,您需要将MongoDB-Node.js库升级到至少(1.4.29)

我试过了,结果我的案子成功了。您可以找到以下有用的命令:

npm安装mongo express cd节点模块/mongo express

将config.default.js文件更改为config.js,并将其更新为包含您的数据库连接(例如用户名、密码、连接的URL等)

编辑package.jon文件并将MongoDB的版本更改为“~1.4.29”

运行:npm更新


要启动web应用程序:执行命令“node app”,网站将在上可用。

您可以将localhost更改为127.0.0.1

通过SSH隧道与Robomongo连接的可能性回到了RC8版本。请参阅GitHub问题。

我在Mac上遇到了完全相同的问题。我删除了Robomongo客户端并从他们的网站下载了最新版本。它只是工作:)

我刚刚升级到Robomongo的新版本1.0。正如一些人在这里所说,0.8.x不支持SCRAM-SHA-1,这是MongoDB 3.0中的默认值。在以前的版本中,它是MONGODB-CR

但是从现在开始下载Robomongo的人不应该有身份验证问题

下面的链接更详细地解释了SCRAM-SHA。如果大量使用MongoDB,我建议阅读它


您是否在配置文件中启用了身份验证?如果不允许,它将只允许本地主机访问您的数据库。@t确实不允许
etc/mangodb.conf
auth=true您使用的是什么版本的MongoDB和Robomongo?如果您使用的是MongoDB 3.0,Robomongo 0.8.x不支持新的SCRAM-SHA-1默认身份验证。请参阅Robomongo的GitHub问题跟踪器。@Stennie您是对的!发布答案,我接受:)@KarlMorrison您使用的是mmap(默认)还是WiredTiger存储引擎?如果您正在使用mmap,则可能存在一种身份验证解决方案。最新版本的Robomongo 0.9.0 RC4支持scram-sha-1身份验证,您可以更新您的答案吗?@AndrewOrsich答案仍然正确(0.8.x不支持scram-sha-1,但这将是0.9.0版本的一部分)。我会等待最后的Robomongo 0.9.0版本,以了解包括哪些功能,并链接到实际发布的公告。进展如何?(没有“编辑”,“更新:”或类似内容-答案应该看起来像是今天写的)-例如“…Robomongo的0.9.0版(发布于2016-XX-XX)增加了对SCRAM-SHA-1身份验证的支持。”而不是作为答案发布链接,添加一些文本解释此答案如何帮助OP解决当前问题。谢谢