CREATE USER
功能
创建 StarRocks 用户。
语法
-- 命令
CREATE USER <user_identity> [auth_option]
[DEFAULT ROLE 'role_name']
-- 参数说明
user_identity:'user_name'@'host'
auth_option: {
IDENTIFIED BY 'auth_string'
IDENTIFIED WITH auth_plugin
IDENTIFIED WITH auth_plugin BY 'auth_string'
IDENTIFIED WITH auth_plugin AS 'auth_string'
}
-
CREATE USER
用于创建一个 StarRocks 用户。在 StarRocks 中,一个 user_identity 唯一标识一个用户。
-
user_identity
由两部分组成,
user_name
和host
,其中user_name
为用户名。host 标识用户端连接所在的主机地址。host 部分可以使用 % 进行模糊匹配。如果不指定 host,默认为 '%',即表示该用户可以从任意 host 连接到 StarRocks。 -
auth_option
指定用户的认证方式,目前支持
mysql_native_password
和authentication_ldap_simple
。注意 同一个用户(user_identity)只能使用一种认证方式。
-
DEFAULT ROLE
如果指定了角色(ROLE),则会自动将该角色所拥有的权限赋 予新创建的这个用户。如果不指定,则该用户默认没有任何权限。指定的 ROLE 必须已经存在。角色创建请参考 CREATE ROLE 章节。
示例
-
创建一个无密码用户(不指定 host,则等价于 jack@'%')。
CREATE USER 'jack';
-
创建一个有密码用户,允许从 '172.10.1.10' 登录。
CREATE USER jack@'172.10.1.10' IDENTIFIED BY '123456';
或者
CREATE USER jack@'172.10.1.10' IDENTIFIED WITH mysql_native_password BY '123456';
-
为了避免传递明文,用例 2 也可以使用下面的方式来创建。
CREATE USER jack@'172.10.1.10' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9';
或者
CREATE USER jack@'172.10.1.10' IDENTIFIED WITH mysql_native_password AS '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9';
后面加密的内容可以通过 PASSWORD()获得到,例如:
SELECT PASSWORD('123456');
-
创建一个 ldap 认证的用户。
CREATE USER jack@'172.10.1.10' IDENTIFIED WITH authentication_ldap_simple;
-
创建一个 ldap 认证的用户,并指定用户在 ldap 中的 DN(Distinguished Name)。
CREATE USER jack@'172.10.1.10' IDENTIFIED WITH authentication_ldap_simple AS 'uid=jack,ou=company,dc=example,dc=com';
-
创建一个允许从 '192.168' 子网登录的用户,同时指定其角色为 example_role。
CREATE USER 'jack'@'192.168.%' DEFAULT ROLE 'example_role';
-
创建一个允许从域名 'example_domain' 登录的用户。
CREATE USER 'jack'@['example_domain'] IDENTIFIED BY '12345';
-
创建一个用户,并指定一个角色。
CREATE USER 'jack'@'%' IDENTIFIED BY '12345' DEFAULT ROLE 'my_role';