MariaDB starting with 10.1.1

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:



Comments loading...