mongo 权限认证

1、首先关闭权限认证模式。

2、show dbs  (只能看到  local库,因为3.X 版本以上 admin 库已经不存在)

添加管理员用户:

use admin

db.createUser(  {  user: "admin",  pwd: "admin",  roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]  }  )

roles 中的 db 参数是必须的,不然会报错:Error: couldn’t add user: Missing expected field “db”。另外,有很多文章记录的是使用 db.addUser(…) 方法,这个方法是旧版的,3.0中已经不存在


  切换到admin下,查看刚才创建的用户

show  users 或者  db.system.users.find();

怎么关闭 mongoDB?千万不要 kill -9 pid,可以 kill -2 pid 或 db.shutdownServer()

开启 monog 权限认证模式  :使用配置文件 开启注释 :  auth=true   或者使用权限认证模式启动:    1.使用--auth参数启动MongoDB:

use  admin

db.auth("admin","admin");

此时 show collections:

会报错。 因为admin 用户只有 管理用用户权限

use  库 

创建用户

db.createUser({user:"marvel",pwd:"aa111111",roles:[{role:"readWrite",db:"studentfavor"}]})

show  users

use admin

db.system.users.find();


验证  

use  studentfavor 

show  collections
报错 :因为没加权限验证

显然没权限,先auth:

db.auth("root","aa111111");

猜你喜欢

转载自sanniangmiao.iteye.com/blog/2352802