赞
踩
目录
要创建管理员账户,您需要使用具有超级用户权限的用户登录 MongoDB,并在 admin 数据库中创建管理员账户。以下是创建管理员账户的步骤:
1、打开终端或命令提示符
2、以管理员权限运行 命令,连接到 MongoDB 实例:mongo
mongo
3、切换到 admin 数据库:
use admin
4、创建管理员账户并授予角色:
创建管理员账户并授予 root 角色,这是 MongoDB 中最高权限的角色,可以访问所有数据库和执行所有操作
- db.createUser({
- user: "创建账号",
- pwd: "密码",
- roles: [ { role: "root", db: "admin" } ]
- })
完成后,可以使用该账户访问 MongoDB 实例
在 MongoDB 中,用户角色用于控制用户对数据库和集合的访问权限。MongoDB 中的角色可以分为以下几类:
内置角色:MongoDB 包含一组内置角色,这些角色是预定义的角色,可以用于访问和管理数据库。其中一些角色包括:read、readWrite、dbAdmin、userAdmin 等。
自定义角色:除了内置角色之外,还可以创建自定义角色,以控制用户对数据库和集合的访问权限。可以使用 db.createRole()
方法创建自定义角色。
特殊角色:MongoDB 包含一些特殊的角色,例如 root
角色,该角色具有 MongoDB 中最高级别的权限,可以访问所有数据库和执行所有操作。
以下是一些常见的内置角色及其说明:
- read:允许用户读取指定数据库中的数据。
-
- readWrite:允许用户读取和写入指定数据库中的数据。
-
- dbAdmin:允许用户执行有关数据库的管理任务,如备份和还原数据。
-
- userAdmin:允许用户管理指定数据库中的用户和角色。
-
- dbOwner:允许用户执行关于指定数据库的所有操作,包括读取和写入数据,以及管理用户和角色。
-
- clusterAdmin:允许用户执行有关整个集群的管理任务,如添加和删除节点。
-
- backup:允许用户备份数据。
-
- restore:允许用户还原数据。
-
- root:允许用户访问所有数据库和执行所有操作。
可以使用
db.grantRolesToUser()
方法将角色授予用户,使用db.revokeRolesFromUser()
方法将角色从用户中删除
默认情况下,MongoDB 实例不包含任何管理员账户或用户账户,因此不需要用户名和密码即可访问 MongoDB 实例。但是,在 MongoDB 4.0 之后的版本中,MongoDB 引入了身份验证功能,为了提高安全性,建议在生产环境中启用身份验证功能并创建用户账户。
如果在生产环境中启用了身份验证功能并创建了用户账户,那么默认情况下,MongoDB 实例不包含任何管理员账户或用户账户。必须通过创建管理员账户和用户账户来配置 MongoDB 实例的安全性。
在创建管理员账户之后,可以使用以下命令来创建用户账户:
切换到要创建账号的数据库
use 数据库名
创建
- db.createUser({
- user: "创建账号",
- pwd: "密码",
- roles: [ { role: "readWrite", db: "数据库名" } ]
- })
- # 切换库
- use mydatabase
- # 创建
- db.createUser({
- user: "myuser",
- pwd: "mypassword",
- roles: [ { role: "readWrite", db: "mydatabase" } ]
- })
- # readWrite 读写权限
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。