Default roles were implemented in MariaDB 10.1.1.
SET DEFAULT ROLE { role | NONE } [ FOR user@host ]
The SET DEFAULT ROLE
statement sets a default role for a specified (or current) user. A default role is automatically enabled when a user connects (an implicit SET ROLE
statement is executed immediately after a connection is established).
To be able to set a role as a default, one needs the privileges to enable this role (if you cannot do SET ROLE X
, you won't be able to do SET DEFAULT ROLE X
). To set a default role for another user one needs to have write access to the mysql
database.
To remove a user's default role, use SET DEFAULT ROLE NONE [ FOR user@host ]
. The record of the default role is not removed if the role is dropped or revoked, so if the role is subsequently re-created or granted, it will again be the user's default role.
The default role is stored in a new column in the mysql.user
table, and currently viewing this table is the only way to see which role has been assigned to a user as the default.
Setting a default role for the current user:
SET DEFAULT ROLE journalist;
Removing a default role from the current user:
SET DEFAULT ROLE NONE;
© 2019 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/set-default-role/