- 查看角色
1)查看已创建的所有角色
展示所有已创建的角色信息,包括角色名称,包含的用户以及权限:
SHOW ROLES;
2)查看当前用户角色[不支持],只能在管理员的用户下看所有的用户。
- 查看用户
查看所有用户
SHOW ALL GRANTS;
SHOW PROC '/auth';
查看当前用户
SELECT CURRENT_USER(); --显示用户
SELECT USER(); - 赋予权限
GRANT privilege_list ON db_name[.tbl_name] TO user_identity;
其中
privilege_list
是需要赋予的权限列表,以逗号分隔。当前StarRocks支持的权限基本分为三类:
节点权限:NODE_PRIV
库表权限:SELECT_PRIV,LOAD_PRIV,ALTER_PRIV,CREATE_PRIV,DROP_PRIV,ALL(前面所有)
资源权限:USAGE_PRIV
具体权限介绍:
NODE_PRIV:集群节点操作权限,包括节点上下线等操作,只有root用户有该权限,不可赋予其他用户。
ADMIN_PRIV:除NODE_PRIV以外的所有权限。
GRANT_PRIV:操作权限的权限。包括创建删除用户、角色,授权和撤权,设置密码等。
SELECT_PRIV:对指定的库或表的读取权限(Select操作)。
LOAD_PRIV:对指定的库或表的导入权限(Insert或Delete操作)。
ALTER_PRIV:对指定的库或表的schema变更权限。(Alter操作)
CREATE_PRIV:对指定的库或表的创建权限(Create Table或Create View操作)。
DROP_PRIV:对指定的库或表的删除权限。
USAGE_PRIV:对指定资源的使用权限。 - 权限查看
查看当前用户权限:
SHOW GRANTS;
查看所有用户权限:
SHOW ALL GRANTS;
查看指定用户权限:
SHOW GRANTS FOR user_identity; - 授予角色权限
类似上文授予用户权限,将权限赋予指定的ROLE,如果指定的ROLE不存在,则会自动创建。
GRANT privilege_list ON db_name[.tbl_name] TO ROLE 'role_name';
GRANT privilege_list ON RESOURCE resource_name TO ROLE 'role_name';
授予指定库的所有表的导入权限给角色
GRANT LOAD_PRIV ON db1.* TO ROLE 'my_role';
GRANT USAGE_PRIV ON RESOURCE 'spark_resource' TO ROLE 'my_role'; - 撤销用户权限
REVOKE privilege_list ON db_name[.tbl_name] FROM user_identity;
REVOKE privilege_list ON RESOURCE resource_name FROM user_identity;
user_identity:语法同CREATE USER,且必须为使用CREATE USER创建过的user_identity。user_identity中的host可以是域名,如果是域名,权限的撤销时间可能会有约1分钟的延迟。 - 给用户添加角色[不支持] ,当前只能在新建用户时指定对应角色。
- 修改用户登录密码
- SET PASSWORD [FOR user_identity] = [PASSWORD('plain password')]|['hashed password'];
SET PASSWORD命令可以修改一个用户的登录密码。如果[FOR user_identity]字段不存在,那么修改当前用户的密码。注意这里的user_identity必须完全匹配在使用CREATE USER创建用户时指定的user_identity,否则会报错用户不存在。如果不指定user_identity,则当前用户为'username'@'ip',这个当前用户,可能无法匹配任何user_identity。
修改其他用户的密码,需要具有管理员权限。
修改密码时,也可以使用PASSWORD()函数将明文密码转换为加密的密码。如果不使用PASSWORD()函数,则需要直接指定加密后的密码。
SET PASSWORD = PASSWORD('123456');
或:SELECT PASSWORD('123456');
得到结果为:*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9
设置密码:
SET PASSWORD = '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9'; - 设置用户属性
SET PROPERTY [FOR 'user'] 'key' = 'value' [, 'key' = 'value']
这里设置的用户属性,是针对user的,而不是user_identity。目前该参数主要用于修改用户的最大连接数,例如:
修改用户jack最大连接数为1000:
SET PROPERTY FOR 'jack' 'max_user_connections' = '1000'; - 查看用户属性;
SHOW PROPERTY FOR 'user'; - 创建表
CREATE TABLE IF NOT EXISTS detail (
event_time DATETIME NOT NULL COMMENT "datetime of event",
event_type INT NOT NULL COMMENT "type of event",
user_id INT COMMENT "id of user",
device_code INT COMMENT "device code",
channel INT COMMENT "")
DUPLICATE KEY(event_time, event_type)
DISTRIBUTED BY HASH(user_id) BUCKETS 8
PROPERTIES("replication_num"="1");
其中 如果单机版本,则 "replication_num"="1" 设置成1 ,默认需要3个be. - 查看物化视图
SHOW MATERIALIZED VIEW IN doris; doris 就是当前库