mongodb启用auth,使用密码登陆

  • 更新操做: db.users.update({'currentVersion':3},{$set:{'currentVersion':5}})mongodb

  • 首先安装下载(略过)数据库

  • mongod 启动服务,有多重启动方式,另外可配置各类启动参数  mongod --config "D:/mongodb/server/mongo.cfg"app

 mongod --dbpath "D:\mongodb\server\data\db"函数

  • show dbs
  • use admin
  • show tables
  1. 新建用户 db.createUser({user:”帐号”,pwd:”密码”,roles:[{“role”:”userAdmin”,”db”:”admin”},{“role”:”root”,”db”:”admin”},{“role”:”userAdminAnyDatabase”,”db”:”admin”}]})

Read:容许用户读取指定数据库code

readWrite:容许用户读写指定数据库server

dbAdmin:容许用户在指定数据库中执行管理函数,如索引建立、删除,查看统计或访问system.profile索引

userAdmin:容许用户向system.users集合写入,能够找指定数据库里建立、删除和管理用户it

clusterAdmin:只在admin数据库中可用,赋予用户全部分片和复制集相关函数的管理权限。io

readAnyDatabase:只在admin数据库中可用,赋予用户全部数据库的读权限table

readWriteAnyDatabase:只在admin数据库中可用,赋予用户全部数据库的读写权限

userAdminAnyDatabase:只在admin数据库中可用,赋予用户全部数据库的userAdmin权限

dbAdminAnyDatabase:只在admin数据库中可用,赋予用户全部数据库的dbAdmin权限。

root:只在admin数据库中可用。超级帐号,超级权限(本次建立的就是超级帐号)

  • 对帐号受权:db.auth(“帐号”,”密码”)

  • 重启mongo 加上 --auth 参数

  • 此时如不使用用户名密码登陆,show dbs, 和 show tables 都无权限

  • 使用帐号密码登陆:mongo -u admin -p 12345 localhost:27017/admin (该帐户admin,虽然是admin库中的用户,可是具备全部数据库的权限:userAdminAnyDatabase )

  • 如下为mongo.cfg的简单配置

dbpath=D:\mongodb\server\data\db 
logpath=D:\mongodb\server\log\mongo.log
logappend=true
port=27017
auth=true