Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


15.7.1.2 创建角色语句

CREATE ROLE [IF NOT EXISTS] role [, role ] ...

CREATE ROLE 创建一个或多个角色,角色是权限的命名集合。要使用这个语句,您必须拥有全局CREATE ROLECREATE USER 权限。當read_only 系统变量启用時,CREATE ROLE 还需要CONNECTION_ADMIN 权限(或弃用的SUPER 权限).

创建的角色锁定,密码为空,并且分配默认身份验证插件。 (这些角色属性可以使用ALTER USER 语句更改,拥有全局CREATE USER 权限的用户可以更改。)

CREATE ROLE 都成功或回滚并无效,如果出现任何错误。默认情况下,如果尝试创建已经存在的角色,会出现错误。如果给出IF NOT EXISTS子句,语句将为每个已经存在的角色产生警告,而不是错误。

如果语句成功,则写入二进制日志,但是在失败的情况下,回滚发生,无任何更改。写入二进制日志的语句包括所有命名角色。如果给出IF NOT EXISTS子句,这还包括已经存在且未创建的角色。

每个角色的名称按照第8.2.5节,“指定角色的名称”中描述的格式使用。例如:

CREATE ROLE 'admin', 'developer';
CREATE ROLE 'webapp'@'localhost';

角色名称中的主机名部分,如果省略,默认为'%'

关于角色的使用示例,请见第8.2.10节,“使用角色”