当前位置:首页 > 数据库 > 正文内容

MongoDB数据库怎么设置账号密码

2024-12-04数据库3

先输入show dbs查看mongodb数据库存在的数据库列表,选择需要设置的数据库-账号密码

设置超级管理员账号密码

1、可以使用navicat15连接mongodb数据库,进入命令行界面,输入以下命令

如出现找不到MongoDB shell为可执行文件,选择设置路径,路径为:MongoDB shell是一个可执行的文件,位于MongoDB安装路径下的/bin文件夹中。

1
2
3
4
5
6
7
8
9
use admin 
db.createUser({
  user: 'admin',  // 用户名
  pwd: '123456',  // 密码
  roles:[{
    role: 'root',  // 角色---超级管理员才可以使用该角色
    db: 'admin'  // 数据库
  }]
})

2、设置完成,可以输入 show users 查看是否设置成功—超级管理员需要先登录才可以查看

3、开启验证

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

1
#security:

修改为:

1
2
security:
  authorization: enabled

重启就可以了。

4、当设置账号密码成功后,我们对mongodb的数据库操作都有了限制,这时需要我们输入账号密码登录。

1
2
3
4
5
6
// 方式一
mongo
use admin
db.auth('admin', '123456')
// 方式二
mongo admin -u admin -p 123456

添加其他数据库用户

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

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

常用命令

1
2
3
4
show users  // 查看当前库下的用户
db.dropUser('testadmin')  // 删除用户
db.updateUser('admin', {pwd: '654321'})  // 修改用户密码
db.auth('admin', '654321')  // 密码认证

用户角色字典

  • Read:允许用户读取指定数据库 readWrite:允许用户读写指定数据库

  • dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile

  • userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户

  • clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。

  • readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限

  • userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限

  • dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。

  • root:只在admin数据库中可用。超级账号,超级权限