createUsr - 创建数据库用户
db.createUsr( <name>, <password>, [options] )
db.createUsr( <User>, [options] )
db.createUsr( <CipherUser>, [options] )
Sdb
该函数用于创建数据库用户,防止非法用户操作数据库。
参数名 | 参数类型 | 描述 | 是否必填 |
---|---|---|---|
name | string | 用户名 | 是 |
password | string | 密码 | 是 |
User | object | User 对象 | 是 |
CipherUser | object | CipherUser 对象 | 是 |
options | Json | 扩展选项 | 否 |
选项名称 | 取值类型 | 描述 |
---|---|---|
AuditMask | String | 用户审计日志的配置掩码,默认值为"SYSTEM|DDL|DCL",取值如下: ACCESS、CLUSTER、SYSTEM、DCL、DDL、DML、DQL、INSERT、UPDATE、DELETE、OTHER、ALL、NONE ● 支持使用按位或(|)连接多个掩码,逻辑非(!)禁止某个掩码 ● 取值"ALL"表示选择全部配置掩码 ● 取值"NONE"表示禁止全部配置掩码,即关闭审计功能 |
Role | String | 旧版本的用户角色,只支持系统内置角色,取值列表:"admin"、"monitor"。"admin" 为管理员角色,可执行任何操作;"monitor" 为监控角色,只能执行 snapshot 和 list 操作 |
Roles | Array | 用户角色列表,可以为用户授予多个角色,详情请参考Role-based Access Control |
Note:
- 该接口只能用于集群模式。
- 当数据库创建了用户,连接数据库必须指定用户名和密码。
- 数据库用户名和密码的限制请参考数据库限制。
函数执行成功时,无返回值。
函数执行失败时,将抛异常并输出错误信息。
当异常抛出时,可以通过 getLastErrMsg() 获取错误信息或通过 getLastError() 获取错误码。更多错误处理可以参考常见错误处理指南。
v2.0 及以上版本
创建用户名为 sdbadmin,密码为 sdbadmin 的用户,并设置审计日志掩码。
> db.createUsr( "sdbadmin", "sdbadmin", { AuditMask: "DDL|DML|!DQL" } )
使用 User 对象创建用户名为 sdbadmin,密码为 sdbadmin 的用户。
> var a = User( "sdbadmin", "sdbadmin" ) > db.createUsr( a )
使用 CipherUser 对象创建用户名为 sdbadmin,密码为 sdbadmin 的用户(密文文件中必须存在用户名为 sdbadmin,密码为 sdbadmin 的用户信息,关于如何在密文文件中添加删除密文信息,详细可见 sdbpasswd)。
> var a = CipherUser( "sdbadmin" ) > db.createUsr( a )