mongodb数据库设置用户前后区别

1,187 阅读2分钟
  1. 刚安装好的的mongodb数据库 是没有用户和密码的,此时是可以进行数据的增删改查 这里我保存了一些数据进入了

image.png 2.设置用户名和密码,用户设置权限。

use admin  
db.createUser({
  user: 'jevy',  // 用户名
  pwd: '112244',  // 密码
  roles:[{
    role: 'root',  // 角色
    db: 'admin'  // 数据库
  }]
})

image.png

设置完成,可以输入 show users 查看是否设置成功。

开启验证

找到 MongoDB 安装目录,打开 mongod.cfg文件,找到以下这句:

image.png **

#security:

修改为:

**

security:
  authorization: enabled

image.png 不重启 mongodb 是无法生效的

重启mongodb,我用的是服务

image.png

重启 MongoDB

打开任务管理器

image.png

任务管理器界面

找到 MongoDB 服务,右键重新启动。

这时,我们可以打开 powershell 连接数据库:

输入 mongo:

image.png

显示连接成功,但是当我们输入其他指令时,会提示没有权限:

image.png

登录数据库

**

// 方式一
mongo
use admin
db.auth('admin', '123456')

// 方式二
mongo admin -u admin -p 123456

这时候我们就可以正常访问和操作数据了。

添加数据库用户

我们除了可以设置数据库的超级管理员以外,还可以给每个数据库设置单独的管理员。其只有操作单独数据的一定权限。

**

use test  // 跳转到需要添加用户的数据库
db.createUser({
  user: 'fooadmin',  // 用户名
  pwd: '123456',  // 密码
  roles:[{
    role: 'readWrite',  // 角色
    db: 'test'  // 数据库名
  }]
})

常用命令

**

show users  // 查看当前库下的用户

db.dropUser('testadmin')  // 删除用户

db.updateUser('admin', {pwd: '654321'})  // 修改用户密码

db.auth('admin', '654321')  // 密码认证

MongoDB 数据库默认角色

  1. 数据库用户角色:read、readWrite
  2. 数据库管理角色:dbAdmin、dbOwner、userAdmin
  3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager
  4. 备份恢复角色:backup、restore
  5. 所有数据库角色: readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、
    dbAdminAnyDatabase
  6. 超级用户角色:root

更多细节参考官方文档



作者:地平线0530
链接:www.jianshu.com/p/237a0c5ad… 来源:简书\