Mongodb重难点解析(三、重点突破)

来源:互联网 发布:徐志摩 云中鹤 知乎 编辑:程序博客网 时间:2024/06/03 13:07
 (总共4个部分,静下心来,玩转mongodb;刚学还是热乎的,传上来不容易,欢迎指正学习!)

用户添加及权限控制:

**
1.进入bin目录,输入mongo启动shell,输入use admin进入admin数据库
2. 此时只是转到了admin数据库,还未指定操作数据库的用户,需要建立用户(此为刚安装完mongodb时的情况): db.createUser({user:”user11”,pwd:”user11”,roles:[“userAdminAnyDatabase”]})
3.当创建完用户或者已有用户时,当需要操作一个数据库时,首先需要用户授权:
db.auth(“user11”,”user11”),此时为user11用户对admin数据库的操作;(也就是必须先指定用户,然后才能对数据库进行操作)

这里写图片描述

用户管理员的角色名叫 userAdminAnyDatabase,这个角色只能在 admin 数据库中创建。
首先以用户管理员的身份登录 admin 数据库。然后用 use 命令切换到目标数据库,同样用 db.createUser() 命令来创建用户,普通的数据库用户角色有两种,read 和 readWrite。
这里写图片描述
当创建完数据库db1时,因为里面还没有添加内容,所以再用show dbs并没有显示
现在来往db1添加数据,直接insert肯定报错,因为还没有添加用户,不同的数据库需对应有各自的用户操作,此时需添加创建db1的用户:
这里写图片描述
创建完用户后,还需授权用户对数据库操作,然后再插入数据,好不麻烦(没办法,安全第一位):
这里写图片描述
此时再show dbs 便有了db1;
1, mongodb是没有默认管理员账号,所以要先添加管理员账号,在开启权限认证。
2,切换到admin数据库,添加的账号才是管理员账号。
3,用户只能在用户所在数据库登录,包括管理员账号。
4,管理员可以管理所有数据库,但是不能直接管理其他数据库,要先在admin数据库认 证后才可以。这一点比较怪

0 0
原创粉丝点击