Ton*_*ony 15 database-administration mongodb
我从2.4升级到2.6并且身份验证失败了. 本教程看起来非常简单,但我一直被锁在自己的数据库之外.我的情况非常简单,我有一个Mongo服务器,需要一个用户/密码组合才能连接.
首先,我通过提到的localhost异常进行连接.然后我按照建议创建管理员用户:
use admin
db.createUser(
{
user: "myadmin",
pwd: "mysecret",
roles:
[
{
role: "userAdminAnyDatabase",
db: "admin"
}
]
}
)
Run Code Online (Sandbox Code Playgroud)
现在是时候添加新用户,以便健全地检查自己,我注销了shell.现在,当我键入"mongo"时,它失败了.以前工作但是没问题,它没有看到用户名密码,我猜不再有localhost异常,所以我按照这里列出的说明操作:
mongo --port 27017 -u myadmin -p mysecret --authenticationDatabase admin
Run Code Online (Sandbox Code Playgroud)
我得到:
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" }
>
Run Code Online (Sandbox Code Playgroud)
任何想法如何:
设置Mongo 2.6所以我可以轻松地进出shell来管理数据库(我认为这是"系统用户管理员")
从远程客户端启用用户连接?(只是mongo方面,iptables无需帮助......)
谢谢!
Ton*_*ony 31
显然"系统用户管理员"是不够的.创建root用户:
> db.createUser({user:"someadmin",pwd:"secret", roles:[{role:"root",db:"admin"}]})
Run Code Online (Sandbox Code Playgroud)
然后添加您的数据库用户:
> use some_db
> db.createUser(
{
user: "mongouser",
pwd: "someothersecret",
roles: ["readWrite"]
}
)
Run Code Online (Sandbox Code Playgroud)
关于这个要点的更多细节.评论关于SO欢迎的要点和更好的答案 - 我不是系统管理员
| 归档时间: |
|
| 查看次数: |
21402 次 |
| 最近记录: |