1.MongoDB数据库角色

1.数据库用户角色
  • readreadWrite
2.数据库管理角色
  • dbAdmindbOwneruserAdmin
3.集群管理角色
  • clusterAdminclusterManagerclusterMonitorhostManager
4.备份恢复角色
  • backuprestore
5.所有数据库角色
  • readAnyDatabasereadWriteAnyDatabaseuserAdminDatabasedbAdminAnyDatabase
6.超级用户角色
  • root

2.MongoDB账户权限配置中常用命令

1.查看当前库下的用户
show users;
2.删除用户
db.dropUser("node");
3.修改用户密码
db.updateUser("admin": {pwd: "newPassword"});
4.密码认证
mongosh nodejs
> db.auth("node": "password");

3.MongoDB账户权限配置

第一步:创建超级管理用户
  • 超级管理员必须在admin库中创建
use admin;
db.createUser({
	# 用户名
	user: "admin",
	# 密码
	pwd: "admin@123",
	# 角色: 为 admin 数据库创建,权限是超级管理员root
	roles: [{role: "root", db: "admin"}]
})

在这里插入图片描述

第二步:修改MongoDB数据库配置文件
  • 修改bin\mongod.cfgsecurity配置项
# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# 数据存储路径
storage:
  dbPath: G:\mongo\6.0\data
  journal:
    enabled: true
#  engine:
#  wiredTiger:

# 日志存储路径
systemLog:
  destination: file
  logAppend: true
  path:  G:\mongo\6.0\log\mongod.log

# 访问地址配置
net:
  port: 27017
  bindIp: 127.0.0.1


#processManagement:

#security:  安全配置(增加以下内容)
security:
  authorization: enabled

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:
第三步:重启MongoDB服务
  • 1.同时按住win + r
  • 2.输出services.msc,回车
  • 3.重启MongoDB服务
    在这里插入图片描述
第四步:验证是否生效
  • 1.重新打开cmd窗口

  • 2.不使用账户和密码进行连接测试
    在这里插入图片描述

  • 3.使用账户和密码连接测试:mongosh admin -u admin -p admin@123
    在这里插入图片描述

  • 4.远程连接

    • mongosh 10.221.120.151:27017/admin -u admin -p password
  • 5.url连接

    • url="mongodb://用户名:密码@地址:端口/"
第五步:给为某个库单独创建一个用户
  • 需求:给nodejs库创建一个node用户,该用户只能访问nodejs
use nodejs
db.createUser({
	user: "node",
	pwd: "password",
	roles: [{role: "dbOwner", db: "nodejs"}]
})

在这里插入图片描述
在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐