You are viewing an old version of this article. View the current version here.
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 default_role 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...
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.