You need to enable JavaScript to run this app.
导航

创建账号

最近更新时间2023.07.19 17:05:28

首次发布时间2022.03.11 16:23:48

本文介绍如何通过命令行创建文档数据库 MongoDB 版的非 root 账号。

前提条件

  • 已成功创建 MongoDB 实例。创建实例的方法,请参见创建实例
  • 已成功连接目标 MongoDB 实例。连接实例的方法,请参见通过 Mongo Shell 工具连接实例
  • 已明确需要创建账户的角色类型、权限、归属数据库、生效数据库等。MongoDB 支持的角色类型和权限详情,请参见账号权限

背景信息

创建文档数据库 MongoDB 版实例时,系统会默认在 admin 数据库中创建一个 root 账号。如果您想要对数据库进一步精细化管理,那么可以创建其他权限的账号进行分权分库操作。

操作步骤

  1. 通过 root 账号连接到实例后,执行 use <数据库名称> 命令进入目标数据库。

    说明

    若输入的数据名称不存在,执行 use <数据库名称> 后,会直接创建并进入该数据库。

  2. 执行如下命令创建具备相应权限的账号。

    db.createUser(
       {
         user:"<用户名>",
         pwd:"<密码>",
         roles:[{role:"<权限名称>", db:"<数据库名称>"}]
         }
       )
    

    说明

    • 权限名称:表示需要给该用户设定的具体权限。MongoDB 支持的权限名称详情,请参见账号权限
    • 数据库名称:指定该账号所拥有的权限可以生效的数据库名称。关于创建账号命令的更多详情,请参见 db.createUser()
  3. 创建成功后,您可以在客户端中执行 show users 命令查看已创建的账号详情。

示例

  • 使用场景
    需要在 testdb1 中创建一个名为 testuser1 的账号,该账号拥有 testdb2 数据库账号下的 dbAdmin 权限。

  • 命令语句

    1. 执行如下命令创建并进入 testdb1 数据库。
      use testdb1
      
    2. 执行如下命令,在 testdb1 数据库中创建账号 testuser1
      db.createUser(
        {
          user:"testuser1",
          pwd:"Pwd_123",
          roles:[{role:"dbAdmin", db:"testdb2"}]
          }
        )