MYSQL - CREATE ROLE 语句
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';
然后,您可以按如下方式将创建的角色 GRANT 给用户:-
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';