MariaDB starting with 10.0.5
Roles were introduced in MariaDB 10.0.5.
SET ROLE { role | NONE }
The SET ROLE
statement enables a role, along with all of its associated permissions, for the current session. To unset a role, use NONE
.
If a role that doesn't exist, or to which the user has not been assigned, is specified, an ERROR 1959 (OP000): Invalid role specification
error occurs.
MariaDB starting with 10.1.1
From MariaDB 10.1.1, an automatic SET ROLE is implicitly performed when a user connects if that user has been assigned a default role. See SET DEFAULT ROLE.
SELECT CURRENT_ROLE;
+--------------+
| CURRENT_ROLE |
+--------------+
| NULL |
+--------------+
SET ROLE staff;
SELECT CURRENT_ROLE;
+--------------+
| CURRENT_ROLE |
+--------------+
| staff |
+--------------+
SET ROLE NONE;
SELECT CURRENT_ROLE();
+----------------+
| CURRENT_ROLE() |
+----------------+
| NULL |
+----------------+