首批通过分布式安全可靠测评,为关键业务系统打造
CREATE USER
更新时间:2026-06-16 19:04:02
描述
该语句用于创建新的 OceanBase 数据库用户。创建新用户后,可以使用该用户连接 OceanBase 数据库。
说明
必须拥有全局的
CREATE USER权限,才可以使用CREATE USER命令。
语法
CREATE USER [IF NOT EXISTS] user_specification_list
[REQUIRE {NONE | SSL | X509 | tls_option}];
user_specification_list:
user_specification [, user_specification ...]
user_specification:
user IDENTIFIED BY 'authstring'
| user IDENTIFIED BY PASSWORD 'hashstring'
tls_option:
| CIPHER 'cipher'
| ISSUER 'issuer'
| SUBJECT 'subject'
参数解释
| 参数 | 描述 |
|---|---|
| IF NOT EXISTS | 如果要创建的用户名已存在,并且没有指定 IF NOT EXISTS,则会报错。 |
| user_name | 用户名,新建用户后,mysql.user 表会新增一行该用户的表项。如果同名用户已经存在,则报错。 |
| IDENTIFIED BY | 使用可选的 IDENTIFIED BY 子句,可以为账户给定一个密码。如果密码包含特殊字符 ~!@#%^&*_-+=`|(){}[]:;',.?/,则需要使用引号包含。 |
| user_name [, user_name ...] | 同时创建多个用户时,以逗号 (,) 隔开。 |
| REQUIRE | 指定用户使用的加密协议为 NONE、SSL、X509 和 tls_option 中的一种。 |
| user IDENTIFIED BY 'authstring' | 此处密码为明文,存入 mysql.user 表后,服务器端会变为密文存储下来。 |
| user IDENTIFIED BY PASSWORD 'authstring' | 此处密码为密文。此处密码为 mysql.user 中的密文。 |
示例
创建名为
sqluser01和sqluser02的用户并指定明文密码。obclient> CREATE USER 'sqluser01' IDENTIFIED BY '123456', 'sqluser02' IDENTIFIED BY '******'; Query OK, 0 rows affected创建名为
sqluser03的用户并指定密文密码。//查询密文密码 obclient> SELECT PASSWORD FROM mysql.user; obclient> CREATE USER 'sqluser03' IDENTIFIED BY PASSWORD '******************'; Query OK, 0 rows affected查看创建的用户。
obclient> SELECT user FROM mysql.user; +-----------+ | user | +-----------+ | root | | admin | | sqluser01 | | sqluser02 | | sqluser03 | +-----------+ 5 rows in set