CREATE USER
描述
CREATE USER 语句用于创建新的 seekdb 用户。创建新用户后,可以使用新用户连接 seekdb 。
权限要求
执行 CREATE USER 语句创建用户需要当前用户拥有全局的 CREATE USER 权限。有关 seekdb 权限的详细介绍,参见 seekdb 的权限分类。
语法
CREATE USER [IF NOT EXISTS] {user [, user...]}
[REQUIRE {NONE | SSL | X509 | tls_option}]
[WITH resource_option [resource_option...]];
user:
user_name
| user_name IDENTIFIED [WITH auth_plugin] BY password
| user_name IDENTIFIED [WITH auth_plugin] BY PASSWORD password
| user_name IDENTIFIED [WITH auth_plugin] AS PASSWORD 'auth_string'
tls_option:
CIPHER cipher_name
| ISSUER issuer_name
| SUBJECT subject_name
resource_option:
MAX_CONNECTIONS_PER_HOUR integer
| MAX_USER_CONNECTIONS integer
参数说明
| 参数 | 描述 |
|---|---|
| IF NOT EXISTS | 用于指示如果用户名已存在,则不进行创建。创建用户时,如果要创建的用户名已存在且没有指定 IF NOT EXISTS,则会报错。 |
| user_name | 用户名,新建用户后,mysql.user 表会新增一行该用户的表项。可同时创建多个用户时,使用英文逗号(,)隔开。 |
| auth_plugin | 用于指定用户身份验证的方式,目前仅支持 mysql_native_password 身份验证插件。 |
| IDENTIFIED BY password | 为待创建的用户创建一个密码,此处密码为明文,存入 mysql.user 表后,服务器端会变为密文存储下来。如果密码中包含特殊字符 ~!@#%^&*_-+=`|()[]:;',.?/,需使用英文引号(' 或 ")包含。 |
| IDENTIFIED BY PASSWORD password | 为待创建的用户创建一个密码,此处密码为密文,将直接存入 mysql.user 表。 |
| IDENTIFIED AS PASSWORD | 将账户身份验证插件设置为 auth_plugin,并将 auth_string 值存储在 mysql.user表中。如果插件需要哈希字符串,则假定该字符串已经 是插件所需的哈希格式。 |
| REQUIRE | 指定用户的密码验证要求,有如下几种取值。
|
| tls_option | 指定 TLS 要求的具体选项。
|
| resource_option | 指定用户的资源选项,指定多个资源选项时,使用英文空格隔开。
|
示例
-
创建用户 test1 和 test2,并指定明文密码及用户允许的最大连接数
CREATE USER IF NOT EXISTS test1 IDENTIFIED BY '********', test2 IDENTIFIED BY '********' WITH MAX_USER_CONNECTIONS 10; -
创建用户 test3,指定密文密码,同时指定必须使用 SSL 连接进行身份验证
CREATE USER IF NOT EXISTS test3 IDENTIFIED BY PASSWORD '********' REQUIRE SSL; -
创建用户 test4,并指定需使用 mysql_native_password 身份验证插件
CREATE USER IF NOT EXISTS test4 IDENTIFIED WITH mysql_native_password BY PASSWORD '********';
相关文档
-
授予用户权限的操作可参见 授予权限。
-
可从
mysql.user表中查看创建的用户信息,mysql.user表的详细介绍可参见 mysql.user -
使用创建的用户连接 seekdb 的操作可参见 连接 seekdb 章节。