Spec-Zone.ru › MariaDB

УСТАНОВКА ПОЛЬЗОВАТЕЛЬСКОЙ РОЛИ ПО УМОЛЧАНИЮ

Синтаксис

SET DEFAULT ROLE { role | NONE } [ FOR user@host ]

Описание

Выражение SET DEFAULT ROLE устанавливает роль по умолчанию для указанного (или текущего) пользователя. Роль по умолчанию автоматически активируется при подключении пользователя (выполняется неявное выражение SET ROLE сразу после установления соединения).

Для того, чтобы установить роль по умолчанию, роль должна быть уже предоставлена этому пользователю, и у вас должны быть привилегии для активации этой роли (если вы не можете SET ROLE X, вы не сможете SET DEFAULT ROLE X). Для установки роли по умолчанию для другого пользователя необходим доступ для записи к базе данных mysql.

Чтобы удалить роль по умолчанию пользователя, используйте SET DEFAULT ROLE NONE [ FOR user@host ]. Запись о роли по умолчанию не удаляется, если роль удалена или лишена прав, поэтому, если роль впоследствии будет вновь создана или предоставлена, она снова станет ролью пользователя по умолчанию.

Роль по умолчанию хранится в столбце default_role в таблице/представлении mysql.user, а также в таблице Information Schema APPLICABLE_ROLES, поэтому их можно просмотреть, чтобы увидеть, какая роль назначена пользователю по умолчанию.

Примеры

Установка роли по умолчанию для текущего пользователя:

SET DEFAULT ROLE journalist;

Удаление роли по умолчанию для текущего пользователя:

SET DEFAULT ROLE NONE;

Установка роли по умолчанию для другого пользователя. Роль должна быть предоставлена пользователю, прежде чем её можно будет установить по умолчанию:

CREATE ROLE journalist;
CREATE USER taniel;

SET DEFAULT ROLE journalist FOR taniel;
ERROR 1959 (OP000): Invalid role specification `journalist`

GRANT journalist TO taniel;
SET DEFAULT ROLE journalist FOR taniel;

Просмотр mysql.user:

select * from mysql.user where user='taniel'\G
*************************** 1. row ***************************
                  Host: %
                  User: taniel
...
               is_role: N
          default_role: journalist
...

Удаление роли по умолчанию для другого пользователя

SET DEFAULT ROLE NONE FOR taniel; 
Содержимое, воспроизведённое на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется предварительно компанией MariaDB. Мнения, информация и мнения, выраженные в этом содержимом, не обязательно отражают мнения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/set-default-role/

Spec-Zone.ru

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