我从2.4升级到2.6,认证就崩了。 这个教程 看起来很简单,但我一直被锁在自己的数据库之外。我的情况非常简单,我有一个单独的Mongo服务器,需要一个用户名/密码组合来连接。
首先,我像提到的那样通过本地主机例外连接。然后我按建议创建管理员用户:
use admin
db.createUser(
{
user: "myadmin",
pwd: "mysecret",
roles:
[
{
role: "userAdminAnyDatabase",
db: "admin"
}
]
}
)
现在是添加新用户的时候了,为了检查自己,我退出了shell。现在当我输入"mongo"时,它失败了。以前可以用,但没关系,它没有看到用户名密码,我猜本地异常不再存在,所以我按照此处说明的指示操作:
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的帮助...)
谢谢!