Перейти к основному содержимому

SET DEFAULT ROLE

SET DEFAULT ROLE устанавливает роли, которые активируются по умолчанию при подключении пользователя к серверу.

Эта команда поддерживается начиная с версии 1.5.0.

подсказка

Обычные пользователи могут устанавливать роли по умолчанию для себя. Пользователи с ролью user_admin могут устанавливать роли по умолчанию для других пользователей. Перед выполнением этой операции убедитесь, что пользователю уже назначены эти роли.

Вы можете запросить роли пользователя с помощью SHOW GRANTS.

Синтаксис

-- Установить указанные роли как роли по умолчанию.
SET DEFAULT ROLE <role_name>[,<role_name>,..] TO <user_identity>;
-- Установить все роли пользователя, включая роли, которые будут назначены этому пользователю, как роли по умолчанию.
SET DEFAULT ROLE ALL TO <user_identity>;
-- Роль по умолчанию не устанавливается, но публичная роль остается включенной после входа пользователя в систему.
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;