MySQL - 创建角色语句



MySQL CREATE ROLE 语句

MySQL 中的角色是一组具有名称的权限。您可以使用 CREATE ROLE 语句在 MySQL 中创建一个或多个角色。要创建角色,您需要具有 CREATE ROLE 或 CREATE USER 权限。

语法

以下是 CREATE ROLE 语句的语法:

CREATE ROLE [IF NOT EXISTS] desiredname

其中,**desiredname** 是您需要创建的角色的名称。

示例

以下查询创建一个名为 **TestRole_ReadOnly** 的角色。

CREATE ROLE 'TestRole_ReadOnly';

现在,让我们使用 GRANT 语句向创建的角色授予只读权限:

GRANT SELECT ON * . * TO 'TestRole_ReadOnly';

然后,您可以按如下方式将创建的角色授予用户:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

GRANT 'TestRole_ReadOnly' TO 'newuser'@'localhost';

示例

您可以通过指定主机来创建角色:

CREATE ROLE samplerole@localhost;

创建多个角色

您也可以一次创建多个角色,如下所示:

CREATE ROLE 'MyAdmin', 'MyDeveloper';

IF NOT EXISTS 子句

如果您尝试创建具有现有名称的角色,则会生成错误:

CREATE ROLE 'testrole@localhost';
CREATE ROLE 'testrole@localhost';
ERROR 1396 (HY000): Operation CREATE ROLE failed for 
'testrole@localhost'@'%'

如果您使用 **IF NOT EXISTS** 子句与 CREATE ROLE 语句一起使用,如下所示,则会创建一个新角色;如果具有给定名称的角色已存在,则该查询将被忽略。

CREATE ROLE IF NOT EXISTS 'testrole@localhost';
广告
© . All rights reserved.