Mongodb& Robomongo:无法连接(身份验证)

时间:2015-03-29 02:33:50

标签: mongodb

我有以下用户:

{
    "_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进行连接。

enter image description here

同样适用于......

Database: mydb
User Name: root

Database: mydb
User Name: mydbDbOwner

6 个答案:

答案 0 :(得分:27)

Robomongo 0.8.x不支持新的SCRAM-SHA-1身份验证,这是MongoDB 3.0中的默认身份验证。这是Robomongo 0.9.0版本的一部分(参见:issue #766)。

如果您使用的是默认MMAP存储引擎(而不是WiredTiger,也需要驱动程序更新),则可能会出现Robomongo问题的解决方法 - 降级为较旧的MONGODB-CR身份验证格式。

还有其他数据管理UI,其中一些已经使用MongoDB 3.0支持进行了更新。

有关替代方案,请参阅:

答案 1 :(得分:6)

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

答案 2 :(得分:0)

您可以尝试使用Mongo-Express(基于网络的工具)。它可以在这里找到:https://github.com/andzdroid/mongo-express

但是,您需要根据以下内容将mongodb-nodejs库升级至少(1.4.29):http://docs.mongodb.org/manual/release-notes/3.0-scram/

我试过,它适合我的情况。您可以在下面找到以下有用的命令:

  

npm install mongo-express   cd node-modules / mongo-express

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

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

  

运行:npm update

启动网络应用程序:执行命令“node app”,该网站将在http://localhost:8081/

提供

答案 3 :(得分:0)

您可以将localhost更改为127.0.0.1

答案 4 :(得分:0)

对于那些提出这个问题的人,我刚刚升级到Robomongo的新1.0。正如这里所说的一些人所说的0.8.x并不支持SCRAM-SHA-1,这是mongodb 3.0之前版本默认的MONGODB-CR。但是从这一点开始下载Robomongo的任何人都不应该有身份验证问题。

Docs

这个底部链接更多地解释了scram-sha,如果大量使用mongodb,我建议阅读它 https://robomongo.org/

答案 5 :(得分:-1)

通过SSH隧道与Robomong连接的可能性又回到了RC8版本。见github issue

相关问题