用户和权限管理
TDengine 默认仅配置了一个 root 用户,该用户拥有最高权限。TDengine 支持对系统资源、库、表、视图和主题的访问权限控制。root 用户可以为每个用户针对不同的资源设置不同的访问权限。本节介绍 TDengine 中的用户和权限管理。用户和权限管理是 TDengine Enterprise 特有功能。
用户管理
创建用户
创建用户的操作只能由 root 用户进行,语法如下。
create user user_name pass'password' [sysinfo {1|0}] [createdb {1|0}]
相关参数说明如下。
- user_name:用户名最长不超过 23 个字节。
- password:密码长度必须为 8 到 16 位,并且至少包含大写字母、小写字母、数字、特殊字符中的三类。特殊字符包括
! @ # $ % ^ & * ( ) - _ + = [ ] { } : ; > < ? | ~ , .
。 - sysinfo :用户是否可以查看系统信息。1 表示可以查看,0 表示不可以查看。系统信息包括服务端配置信息、服务端各种节点信息,如 dnode、查询节点(qnode)等,以及与存储相关的信息等。默认为可以查看系统信息。
- createdb:用户是否可以创建数据库。1 表示可以创建,0 表示不可以创建。缺省值为 0。// 从 TDengine 企业版 3.3.2.0 开始支持
如下 SQL 可以创建密码为 abc123!@# 且可以查看系统信息的用户 test。
create user test pass 'abc123!@#' sysinfo 1
查看用户
查看系统中的用户信息可使用如下 SQL。
show users;
也可以通过查询系统表 information_schema.ins_users 获取系统中的用户信息,示例如下。
select * from information_schema.ins_users;
修改用户信息
修改用户信息的 SQL 如下。
alter user user_name alter_user_clause
alter_user_clause: {
pass 'literal'
| enable value
| sysinfo value
| createdb value
}
相关参数说明如下。
- pass:修改用户密码。
- enable:是否启用用户。1 表示启用此用户,0 表示禁用此用户。
- sysinfo :用户是否可查看系统信息。1 表示可以查看系统信息,0 表示不可以查看系统信息
- createdb:用户是否可创建数据库。1 表示可以创建数据库,0 表示不可以创建数据库。// 从 TDengine 企业版 3.3.2.0 开始支持
如下 SQL 禁用 test 用户。
alter user test enable 0