• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • CREATE ROLE语句

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

    CREATE ROLE创建一个或多个角色,这些角色被称为特权集合。要使用此语句,您必须具有全局CREATE ROLECREATE USER特权。当read_only启用了系统变量,CREATE ROLE另外需要CONNECTION_ADMINSUPER特权。

    创建角色时,该角色将被锁定,没有密码并被分配默认身份验证插件。(ALTER USER具有全局CREATE USER特权的用户可以在以后使用该语句更改这些角色属性。)

    CREATE ROLE要么对所有命名角色都成功,要么回滚,并且在发生任何错误时不起作用。默认情况下,如果您尝试创建一个已经存在的角色,则会发生错误。如果IF NOT EXISTS给出了该子句,则该语句将为每个已经存在的命名角色生成警告,而不是错误。

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

    每个角色名称使用“指定角色名称”中描述的格式。例如:

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

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