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 为例,在图形化界面的设置方式。

 

posted on 2019-07-19 17:38  FuYingju  阅读(229)  评论(0编辑  收藏  举报