首批通过分布式安全可靠测评,为关键业务系统打造
创建用户
更新时间:2026-06-21 08:01:33
本节主要介绍如何创建一个用户。
谁可以创建用户
数据库在运行过程中,往往需要创建不同的用户,并为用户赋予相应的权限,一般被授予 CREATE USER 权限的用户可以创建用户。
由于 CREATE USER 权限较大,默认仅集群管理员和租户管理员拥有此系统权限,其他用户如果需要创建用户,则需要被授予 CREATE USER 权限,授权相关操作请参见 修改用户权限。
用户名称的规则
为用户指定名称时,需要注意以下限制:
用户名的唯一性:每个用户名需要保证在租户内唯一。
用户名称在租户内是唯一的,不同租户下的用户可以同名,故通过
用户名@租户名的形式可以在系统全局唯一定位一个租户用户。由于系统租户与 MySQL 租户属于同一兼容模式,为区别系统租户和普通租户下的用户,建议对系统租户下的用户名称使用特定前缀。
用户名的命名约定:
使用 OBClient 、ODC 等客户端创建用户时,要求用户名长度不超过 64 个字节。
使用 OCP 创建用户时,要求用户名以英文字母开头,可包含大写字母、小写字母、数字和下划线,且长度为 2~64 个字符。
通过 SQL 语句创建一个拥有最小数据库权限的用户
您可以使用 CREATE USER 语句创建用户。创建用户必须拥有 CREATE USER 的系统权限。在创建用户时,建议坚持最小权限原则,即所有用户只拥有执行其任务所需的最小权限。
创建用户的 SQL 语句如下:
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,则系统会报错。IDENTIFIED BY:使用可选的IDENTIFIED BY子句,可以为账户指定一个密码。其中:
user IDENTIFIED BY 'authstring'语句中的密码为明文,存入mysql.user表中后,服务器端会变为密文存储下来。user IDENTIFIED BY PASSWORD 'authstring'语句中的密码为密文。
REQUIRE用于指定用户使用的加密协议,为NONE、SSL、X509和tls_option中的一种。
创建一个拥有最小数据库权限的用户 user2 的示例如下。
使用
root用户登录到 Mysql 租户。执行以下命令,创建用户
user2。obclient> CREATE USER 'user2' IDENTIFIED BY '******';执行以下命令,授予用户
user2访问数据库db1中所有表的权限。obclient> GRANT SELECT ON db1.* TO user2;
通过 OCP 创建一个拥有最小数据库权限的用户
您可以通过 OCP 创建 MySQL 兼容模式的用户。
前提条件
创建用户前,需要确认以下信息:
当前 OCP 用户需要具有租户修改权限,OCP 用户权限相关信息请参见对应版本的《OCP 用户指南》文档。
当前 OCP 用户的密码箱中具有该租户的 root 用户密码,OCP 用户的密码箱相关操作请参见对应版本的《OCP 用户指南》文档。
操作步骤
登录 OCP。
在左导航栏上单击 租户 ,进入 租户 页面。
在租户列表中,选择 租户模式 为 MySQL 的租户,进入 总览 页面。
在左侧导航栏上,单击 用户管理 。
在页面右上角单击 新建用户 。
在弹出的 新建数据库用户 对话框中,配置用户信息。
用户配置相关说明如下表所示。
配置 描述 用户名 待创建的数据库用户的名称。 密码 长度为 8 ~32 个字符,包含至少 2 个数字、2 个大写字母、2 个小写字母和 2 个特殊字符,支持的特殊字符为 ._+@#$%。确认密码 与新密码保持一致。 全局权限 选填,该权限适用于所有数据库。 数据库权限 选填,对新用户进行授权。勾选新用户可访问的数据库,单击 > 图标,将目标数据库移动至右侧区域,并勾选需要添加的权限。 全局权限 和 数据库权限 中涉及的权限类型说明如下表所示。
权限 说明 ALTER ALTER TABLE 的权限 CREATE CREATE TABLE 的权限 DELETE DELETE 的权限 DROP DROP 的权限 INSERT INSERT 的权限 SELECT SELECT 的权限 UPDATE UPDATE 的权限 INDEX CREATE INDEX、DROP INDEX 的权限 CREATE VIEW 创建、删除视图的权限 SHOW VIEW SHOW CREATE VIEW权限 CREATE USER CREATE USER、DROPUSER、RENAME USER和REVOKE ALLPRIVILEGES 的权限 PROCESS PROCESS 权限 SUPER SET GLOBAL 修改全局系统参数的权限 SHOW DATABASES 全局 SHOW DATABASES 的权限 GRANT OPTION GRANT OPTION 的权限 
完成后,单击 提交 。