SET DEFAULT ROLE
SET DEFAULT ROLE устанавливает роли, которые активируются по умолчанию, когда пользователь подключается к серверу.
Эта команда поддерживается начиная с версии v1.5.2.
Обычные пользователи могут устанавливать роли по умолчанию для себя. Пользователи с ролью user_admin могут устанавливать роли по умолчанию для других пользователей. Перед выполнением этой операции убедитесь, что пользователю уже назначены эти роли.
Вы можете запросить роли пользователя с помощью SHOW GRANTS.
Синтаксис
-- Установить указанные роли в качестве ролей по умолчанию.
SET DEFAULT ROLE <role_name>[,<role_name>,..] TO <user_identity>;
-- Установить все роли пользователя, включая роли, которые будут назначены этому пользователю, в качестве ролей по умолчанию.
SET DEFAULT ROLE ALL TO <user_identity>;
-- Роль по умолчанию не установлена, но публичная роль (public) все еще активна после входа пользователя.
SET DEFAULT ROLE NONE TO <user_identity>;
Параметры
role_name: имя роли
user_identity: идентификатор пользователя
Примеры
Запросить роли текущего пользователя.
SHOW GRANTS FOR test;
+--------------+---------+----------------------------------------------+
| UserIdentity | Catalog | Grants |
+--------------+---------+----------------------------------------------+
| 'test'@'%' | NULL | GRANT 'db_admin', 'user_admin' TO 'test'@'%' |
+--------------+---------+----------------------------------------------+
Пример 1: Установить роли db_admin и user_admin в качестве ролей по умолчанию для пользователя test.
SET DEFAULT ROLE db_admin TO test;
Пример 2: Установить все роли пользователя test, включая роли, которые будут назначены этому пользователю, в качестве ролей по умолчанию.
SET DEFAULT ROLE ALL TO test;
Пример 3: Очистить все роли по умолчанию пользователя test.
SET DEFAULT ROLE NONE TO test;