CREATE ROLE
MariaDB starting with 10.0.5
Roles were introduced in MariaDB 10.0.5.
Contents
Syntax
CREATE ROLE role [WITH ADMIN {CURRENT_USER | CURRENT_ROLE | user | role}]
Description
The CREATE ROLE
statement creates one or more MariaDB roles. To use it, you
must have the global CREATE USER
privilege or
the INSERT
privilege for
the mysql database. For each account, CREATE ROLE
creates a new row in
the mysql.user
table that has no privileges, and with the corresponding is_role
field set to Y
. It also creates a record in the mysql.roles_mapping
table.
If any of the specified roles already exist, ERROR 1396 (HY000)
results. If an error occurs, CREATE ROLE
will still create the roles that
do not result in an error. The maximum length for a role is 128 characters. Role names can be quoted, as explained in the Identifier names page. Only one error is produced for all roles which have not been created:
ERROR 1396 (HY000): Operation CREATE ROLE failed for 'a','b','c'
PUBLIC
and NONE
are reserved, and cannot be used as role names.
The optional WITH ADMIN
clause determines whether the current user, the current role or another user or role has use of the newly created role. If the clause is omitted, WITH ADMIN CURRENT_USER
is treated as the default, which means that the current user will be able to GRANT this role to users.
Example
CREATE ROLE journalist; CREATE ROLE developer WITH ADMIN lorinda;