1

我有一个问题,我无法从外部工具连接到 MongoDB,而外部工具不是通过 MongoShell 或我的使用 Spring Data MongoDB 抽象的 web 应用程序。

我已经成功地在 MongoDB 上为“mydb”数据库创建了一个用户,我可以使用以下命令连接到本地主机上的 MongoDb

$ mongo mydb -u alex -p 12345678 --host localhost --port 27017

MongoDB shell version: 3.0.1
connecting to: localhost:27017/mydb
> show users
{
    "_id" : "mydb.alex",
    "user" : "alex",
    "db" : "mydb",
    "roles" : [
        {
            "role" : "readWrite",
            "db" : "mydb"
        }
    ]
}

现在我可以插入集合和查询,一切看起来都很顺利。我也可以从我的网络应用程序中连接 Spring Data MongoDB 抽象。

当我现在尝试使用正确的主机、端口、数据库、用户名和密码使用 Robomongo 应用程序或 Intellij Plugin for MongoDB 进行连接时,我收到授权错误

来自 Intellij

Error when collecting Mongo databases: { "serverUsed" : "localhost:27017" , "ok" : 0.0 , "errmsg" : "auth failed" , "code" : 18}

从罗博蒙戈

2015-04-02 16:00:30: Connecting to localhost:27017...
2015-04-02 16:00:30: connect failed
2015-04-02 16:00:30: Unable to authorize

我想使用一些 GUI 客户端来获得更好的可视化和 CRUD 操作支持,但目前我无法连接到 MongoDB

你知道这可能是什么原因吗?

4

1 回答 1

0

我遇到了同样的问题,在 mongoDb 日志中我看到:

无法使用 MONGODB-CR 机制对 xxx@yyyy 进行身份验证:AuthenticationFailed MONGODB-CR 凭据在用户文档中丢失

我相信这篇文章MongoDB-CR Authentication failed解释了如何取消旧的身份验证。您将需要删除现有用户并再次添加新用户。

于 2015-04-13T17:18:11.623 回答