Spec-Zone.ru › MySQL 9.2

15.7.1.9 Заявление SET DEFAULT ROLE

SET DEFAULT ROLE
    {NONE | ALL | role [, role ] ...}
    TO user [, user ] ...

Для каждого user, указанного сразу после ключевого слова TO, это утверждение определяет, какие роли станут активными, когда пользователь подключается к серверу и проходит аутентификацию, или когда пользователь выполняет оператор SET ROLE DEFAULT во время сеанса.

SET DEFAULT ROLE — это альтернативная синтаксическая конструкция для ALTER USER ... DEFAULT ROLE (см. Раздел 15.7.1.1, «Заявление ALTER USER»). Однако ALTER USER может установить значение по умолчанию только для одного пользователя, тогда как SET DEFAULT ROLE может установить значение по умолчанию для нескольких пользователей. С другой стороны, вы можете указать CURRENT_USER в качестве имени пользователя для оператора ALTER USER, тогда как вы не можете для SET DEFAULT ROLE.

SET DEFAULT ROLE требует следующих привилегий:

  • Установка ролей по умолчанию для другого пользователя требует глобальной привилегии CREATE USER или привилегии UPDATE для системной таблицы mysql.default_roles.

  • Установка ролей по умолчанию для себя не требует особых привилегий, если только роли, которые вы хотите установить по умолчанию, вам были предоставлены.

Каждое имя роли использует формат, описанный в Разделе 8.2.5, «Указание имён ролей». Например:

SET DEFAULT ROLE 'admin', 'developer' TO 'joe'@'10.0.0.1';

Часть имени роли, относящаяся к имени хоста, если опущена, по умолчанию равна '%'.

Клауза, следующая за ключевыми словами DEFAULT ROLE, допускает следующие значения:

  • NONE: Установить значение по умолчанию в NONE (без ролей).

  • ALL: Установить значение по умолчанию во все роли, предоставленные учетной записи.

  • role [, role ] ...: Установить значение по умолчанию в указанные роли, которые должны существовать и быть предоставлены учетной записи в момент выполнения SET DEFAULT ROLE.

Примечание

SET DEFAULT ROLE и SET ROLE DEFAULT — это разные операторы:

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

  • SET ROLE DEFAULT устанавливает активные роли в текущем сеансе на роли по умолчанию текущей учетной записи.

Примеры использования ролей см. в Разделе 8.2.10, «Использование ролей».

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/set-default-role.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API