win10系统中设置MongoDB用户名密码连接数据库

1、需求说明

在Win10系统中安装好了MongoDB数据库以后,为了增加数据库的安全性,需要设置用户名和密码才能连接数据库。本文中使用的MongoDB 4.4.5 的版本,数据库下载地址:
https://www.mongodb.com/try/download/community
数据库安装教程:https://blog.csdn.net/p445098355/article/details/113178242

2、设置MongoDB用户名和密码

2.1、开启验证

先找到MongoDB的安装目录,在安装目录下找到 /bin/mongod.cfg 文件,找到下面的这句:

#security;

将其修改为:

security:
  authorization: enabled

修改完成后要重启MongoDB服务,打开任务管理器,找到MongoDB服务,点击右键选择重新启动,效果如下图所示。
win10系统中设置MongoDB用户名密码连接数据库_第1张图片

2.2、设置admin

打开命令行工具,输入以下命令:

# 进入mongodb数据库
mongo

# 打开admin数据库
use admin

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

# 验证用户是否设置成功,执行下面命令如果显示1表示设置成功
db.auth('admin', '123456')

除了可以设置超级管理员之外,还可以为每个数据库单独设置管理员,并且可以单独设置操作数据库的权限,命令如下:

# 打开需要设置管理员的数据库
use test

# 创建用户
db.createUser({
     
  user: 'tom',  // 用户名
  pwd: '123456',  // 密码
  roles:[{
     
    role: 'readWrite',  // 角色,即操作权限
    db: 'test'  // 数据库名
  }]
})

MongoDB数据库默认的角色如下:

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

更多配置可以查阅官方文档:https://docs.mongodb.com/manual/reference/built-in-roles/

2.3、MongoDB用户操作的其他命令

我们还可以使用命令行工具对用户做其他操作。例如:

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

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

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

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

3、连接数据库

  • 使用用户 admin 使用密码 123456 连接到本地的 MongoDB 服务上 mongo://admin:123456@localhost/
  • 连接本地数据库服务器,端口默认27017 mongodb://localhost
  • 在Node中使用mongoose连接数据库 mongodb://admin:123456@localhost:27017/test?authSource=admin

你可能感兴趣的:(Web全栈案例,mongodb,数据库,nosql)