作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我从 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 的帮助......)
谢谢!
最佳答案
显然“系统用户管理员”是不够的。创建根用户:
> db.createUser({user:"someadmin",pwd:"secret", roles:[{role:"root",db:"admin"}]})
然后添加你的数据库用户:
> use some_db
> db.createUser(
{
user: "mongouser",
pwd: "someothersecret",
roles: ["readWrite"]
}
)
更多详情请访问 this gist .欢迎评论要点和更好的答案 - 我不是系统管理员
关于mongodb - 如何在 2.6 中向 Mongo 添加管理员用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23003391/
我是一名优秀的程序员,十分优秀!