1、创建管理员账户并赋予权限
打开cmd,输入mongo,进入mongodb的命令页面
> use admin #进入admin数据库 switched to db admin > db.createUser( {user: "root",pwd: "root",roles: [ { role: "root", db: "admin" } ]})
用户添加成功会出现:成功的字样和添加的用户信息。
user:”用户名“,
pwd:"密码”,
roles:指定用户的角色,可以用一个空数组给新用户设定空角色;在roles字段,可以指定内置角色和用户定义的角色。
注意一点,帐号是跟着库走的,所以在指定库里授权,必须也在指定库里验证(auth)。
具体用户权限:
read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限。
2、修改配置文档mongod.cfg(位置:安装目录\bin 下)
首先,将bind_ip改为0.0.0.0 ,binIP关乎到访问连接的限制。
#bindIp: 192.168.0.136 #如果修改成本机Ip,那除了本机外的机器都可以连接 #bindIp: 0.0.0.0 #改成0,那么大家都可以访问(共赢) #bindIp: 127.0.0.1 #改成127,那就只能自己练了(独吞)
然后找到 #security:去掉#号,改成下面这样,开启安全认证。
security:
authorization: enabled #注意缩进,参照其他的值来改,若是缩进不对可能导致后面服务不能重启
如图:
3、重启服务
重启MongoDB Server服务,启用认证!
4、验证登录
进入cmd,输入mongo,进入MongoDB shell.
直接输入命令会报错,因为没有认证登陆
5、接下来,进入账户所属数据库,再认证即可。
> use admin switched to db admin > db.auth("用户名","密码") 1 > show dbs admin 0.000GB config 0.000GB local 0.000GB #这样登陆成功了
6、以 Studio 3T 为例,在图形化界面的设置方式。