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';
廣告