最近更新时间:2024.04.26 11:09:05
首次发布时间:2022.03.11 16:23:48
创建文档数据库 MongoDB 版实例时,系统会默认在 admin 数据库中创建一个 root 账号。如果您想要对数据库进一步精细化管理,那么可以创建其他权限的账号进行分权分库操作。本文介绍如何通过命令行创建非 root 账号。
文档数据库 MongoDB 版默认预留了部分系统账号,您在创建新账号时需避免使用如下预留账号的账号名称。
下表列举了 MongoDB 当前使用的系统预留账号以及注意事项供您参考。
预留的系统账号 | 注意事项 |
---|---|
root:创建实例时默认在 admin 库中创建的系统账号,拥有 MongoDB 内置的 root 权限。 |
|
system_inspector:系统运维实例巡检和可用性探测账号,拥有 admin 库的监控权限以及其他系统库的读写权限等。 |
|
通过 root 账号连接到实例后,执行 use <数据库名称>
命令进入目标数据库。
说明
若输入的数据名称不存在,执行 use <数据库名称>
后,会直接创建并进入该数据库。
执行如下命令创建具备相应权限的账号。
db.createUser( { user:"<用户名>", pwd:"<密码>", roles:[{role:"<权限名称>", db:"<数据库名称>"}] } )
说明
创建成功后,您可以在客户端中执行 show users
命令查看已创建的账号详情。
使用场景
需要在 testdb1
中创建一个名为 testuser1
的账号,该账号拥有 testdb2
数据库账号下的 dbAdmin 权限。
命令语句:
testdb1
数据库。use testdb1
testdb1
数据库中创建账号 testuser1
。db.createUser( { user:"testuser1", pwd:"Pwd_123", roles:[{role:"dbAdmin", db:"testdb2"}] } )