我正在尝试在 mongo 中创建一个可以在任何数据库中执行任何操作的用户。
根据指南,我创建了一个新管理员:http://docs.mongodb.org/manual/tutorial/add-user-administrator
这是代码:
use admin
db.addUser( { user: "try1",
pwd: "hello,
roles: [ "userAdminAnyDatabase" ] } )
然后我停止了 mongo,启用了身份验证并重新启动了 mongo。
然后我尝试用他的用户创建一个数据库。
根据本指南:http://www.mkyong.com/mongodb/how-to-create-database-or-collection-in-mongodb/
use fragola
db.users.save( {username:"fragolino"} )
我得到这个:“未授权插入 fragola.users”
谁能帮帮我?
最佳答案
from docs.mongodb.org-superuser-roles
Lets write answer that looks simple & also simple to implement
步骤:
1 : sudo apt-get install mongodb-org
- 在新终端中
2 : sudo mongod --port 27017 --dbpath/var/lib/mongodb
3 : mongo --port 27017
- 在新终端中
4 : 使用管理员
5 :正如@drmirror 所说,用户应该拥有所有 4 个角色才能成为 superuser
db.createUser(
{
user: "tom",
pwd: "jerry",
roles: [
{ role: "userAdminAnyDatabase", db: "admin" },
{ role: "readWriteAnyDatabase", db: "admin" },
{ role: "dbAdminAnyDatabase", db: "admin" },
{ role: "clusterAdmin", db: "admin" }
]
})
db.createUser(
{
user: "tom",
pwd: "jerry",
roles:["root"]
})
6 : sudo/etc/init.d/mongod stop
或 sudo service mongod stop
- 在新终端中
7 : sudo/etc/init.d/mongod start
或 sudo service mongod start
8 : 重启你的电脑
9 : sudo mongod --auth --port 27017 --dbpath/var/lib/mongodb
- 在新终端中
10: mongo --port 27017 -u "tom"-p "jerry"--authenticationDatabase "admin"
- 在新终端中
注意:第 10 步是最重要的一步。
它会像这样在终端上输出输出
MongoDB shell version: 2.6.11
connecting to: 127.0.0.1:27017/test
>
https://stackoverflow.com/questions/22638258/