【发布时间】:2014-04-11 04:15:03
【问题描述】:
我从 2.4 升级到 2.6,但身份验证失败。 This tutorial 看起来很简单,但我一直被锁定在我自己的数据库之外。我的情况很简单,我有一个 Mongo 服务器,需要一个用户/密码组合来连接。
首先,我通过前面提到的 localhost 异常进行连接。然后我按照建议创建管理员用户:
use admin
db.createUser(
{
user: "myadmin",
pwd: "mysecret",
roles:
[
{
role: "userAdminAnyDatabase",
db: "admin"
}
]
}
)
现在是添加新用户的时候了,为了检查自己的理智,我退出了 shell。现在当我输入“mongo”时它失败了。这曾经有效,但没关系,它没有看到用户名密码,我猜 localhost 异常不再存在,所以我按照here 概述的说明进行操作:
mongo --port 27017 -u myadmin -p mysecret --authenticationDatabase admin
我得到:
MongoDB shell version: 2.6.0
connecting to: 127.0.0.1:27017/test
Error while trying to show server startup warnings: not authorized on admin to execute command { getLog: "startupWarnings" }
>
关于如何做的任何想法:
设置 Mongo 2.6,这样我就可以轻松进出管理数据库的 shell(我认为这是“系统用户管理员”)
允许来自远程客户端的用户进行连接? (只是 mongo 方面,不需要 iptables 的帮助......)
谢谢!
【问题讨论】:
-
我也有同样的问题... 非常令人沮丧的是,即使您仔细按照教程进行操作,它也会失败。 MongoDB 需要认真关注其文档。
标签: mongodb database-administration