更新时间:2022-02-22 GMT+08:00

通过命令创建数据库帐户

操作场景

为了更方便地管理文档数据库实例,创建数据库实例后,您可以通过命令为其创建数据库帐户,以及更改帐户的密码。

为目标实例创建数据库帐户时,建议您开启SSL通道,提高数据的安全性。

前提条件

成功连接文档数据库实例

帐户说明

为了给文档数据库实例提供管理服务,您在创建数据库实例时,文档数据库服务会自动为实例创建root、monitor和backup帐户。如果试图删掉、重命名、修改这些帐户的密码和权限,会导致出错。

对于数据库管理员帐户rwuser,以及您所创建的帐户,允许修改帐户的密码。

帐户密码等级设置

  • 文档数据库服务在控制台侧管理员密码的安全策略:
    • 密码长度为8~32个字符。
    • 密码必须为英文大小写字母、数字、特殊字符~!@#%^*-_=+?的组合。
  • 文档数据库对在客户端新创的数据库用户,设置了密码安全策略:
    • 密码长度为8~32个字符。
    • 密码必须为英文大小写字母、数字、特殊字符~@#%-_!*+=^?的组合。

创建实例数据库时,为用户提供了密码复杂度校验,由于rwuser用户可以修改密码复杂度,安全起见,建议修改后的密码复杂度不低于最初设置的。

创建帐户

  1. 选择admin数据库。

    use admin

  2. 以user1帐户为例,创建数据库帐户。

    db.createUser({user: "user1", pwd: "Test_12345", passwordDigestor:"server", roles:[{role: "root", db: "admin"}]})

    • server”是指在服务端加密密码。
    • Test_12345”是新密码,长度8~32位,且必须为英文大小写字母、数字以及特殊字符~@#%-_!*+=^?的组合。
    • “roles”限制了该帐户所具有的权限。若指定一个空数组,表示该帐户不具有任何权限。

  3. 查看创建结果。

    显示如下信息,说明创建成功。

    Successfully added user: {
            "user" : "user1",
            "passwordDigestor" : "server",
            "roles" : [
                    {
                            "role" : "root",
                            "db" : "admin"
                    }
            ]
    }

更改帐户的密码

  1. 选择admin数据库。

    use admin

  2. 以user1帐户为例,修改帐户的密码。

    db.updateUser("user1", {passwordDigestor:"server",pwd:"newPasswd12#"})

    • server”是指在服务端加密密码。
    • newPasswd12#”是新密码,长度8~32位,且必须为英文大小写字母、数字以及特殊字符~@#%-_!*+=^?的组合。

  3. 查看修改结果。显示如下信息,说明修改成功。

    • 集群
      mongos>
    • 副本集
      replica:PRIMARY>