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服务,点击右键选择重新启动,效果如下图所示。
在这里插入图片描述

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柯晓楠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值