1、找到安装好的MongoDB目录并创建data和logs俩个文件夹: 2、准备启动mongodb服务:
打开cmd命令,并进入mongodb的bin目录下: 执行 mongod.exe --dbpath="D:\mongodb\data" --logpath="D:\mongodb\logs\mongod.log" --install4、新建配置文件"mongod.cf"
#数据库数据存放目录 dbpath=D:\mongodb\data #数据库日志存放目录 logpath=D:\mongodb\logs\mongo.log #开启用户认证 auth=TRUE #以追加的方式记录日志 logappend=true #端口号 默认为27017 port=27017 #启用日志文件,默认启用 journal=true #mongodb所绑定的ip地址 bind_ip=127.0.0.1然后执行命令
mongod.exe --config "D:\mongodb\mongod.cfg" --install4、查看window进程的服务会有一个【已停止】MondoDB服务
net start MongoDB #启动服务(执行) net stop MongoDB #关闭服务(这步不需要执行)5、服务启动后执行:
mongo.exe6、然后执行查看数据库命令:
show dbs这时数据库还没有进行验证,会直接显示所有的数据库 7、创建管理员账号,在admin数据库下:
db.createUser({user:"myAdmin",pwd:"admin",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})8、使用 exit 退出 9、把之前window服务中的mongodb服务删除:
sc delete MongoDB10、执行认证权限的命令:
mongod.exe --auth --config "D:\mongodb\mongod.cfg" --install11、启动服务(同上) 12、再次执行 mongo.exe 13、进入服务后查看数据库如下显示就需要验证权限: 14、认证权限:
use admin db.auth("myAdmin","admin")1 为成功 则为失败
15、创建完管理员就该创建用户角色了,因为用户角色是根据数据库走的,找到要操作的数据库,然后创建角色即可。
db.createUser({user: "luyong",pwd: "luyong",roles: [{role:"readWrite",db:"ylbs3DB"}]}) #授权验证 db.auth("luyong","luyong") #退出 exit #登录数据库 mongo 127.0.0.1:27017/ylbs3DB -u luyong -p luyong到这里已经授权完成!
最后附加一点其他辅助信息:
#添加新的权限 db.grantRolesToUser("quanliuser", [ { role:"dbAdmin", db:"ylbs3DB"} ]) 数据库用户角色:read、readWrite; 数据库管理角色:dbAdmin、dbOwner、userAdmin; 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager; 备份恢复角色:backup、restore; 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase 超级用户角色:root 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase) 内部角色:__system 具体角色: Read:允许用户读取指定数据库 readWrite:允许用户读写指定数据库 dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户 clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。 readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限 readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限 userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限 dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。 root:只在admin数据库中可用。超级账号,超级权限。