Spec-Zone.ru › MySQL 8.4

15.7.1.4 Оператор DROP ROLE

DROP ROLE [IF EXISTS] role [, role ] ...

DROP ROLE удаляет одну или несколько ролей (именованных наборов привилегий). Для использования этого оператора необходимо иметь глобальную привилегию DROP ROLE или CREATE USER. Если системная переменная read_only включена, DROP ROLE также требует привилегию CONNECTION_ADMIN (или устаревшую привилегию SUPER).

Пользователи, обладающие привилегией CREATE USER, могут использовать этот оператор для удаления заблокированных или разблокированных учетных записей. Пользователи, обладающие привилегией DROP ROLE, могут использовать этот оператор только для удаления заблокированных учетных записей (разблокированные учетные записи, предположительно, пользовательские учетные записи, используемые для входа на сервер, а не просто как роли).

Роли, указанные в значении системной переменной mandatory_roles, удалить нельзя.

DROP ROLE выполняется успешно для всех указанных ролей или отменяется и не имеет эффекта, если произошла какая-либо ошибка. По умолчанию возникает ошибка, если вы пытаетесь удалить роль, которой не существует. Если указан пункт IF EXISTS, оператор выводит предупреждение для каждой роли, которой не существует, а не ошибку.

Оператор записывается в двоичный журнал, если он выполнен успешно, но не если он завершен неудачно; в этом случае происходит откат и изменения не производятся. Оператор, записанный в двоичный журнал, включает все указанные роли. Если указан пункт IF EXISTS, это включает даже роли, которые не существуют и не были удалены.

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

DROP ROLE 'admin', 'developer';
DROP ROLE 'webapp'@'localhost';

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

Удаленная роль автоматически отзывается от любой пользовательской учетной записи (или роли), которой была предоставлена роль. В рамках любой текущей сессии для такой учетной записи её скорректированные привилегии применяются с момента выполнения следующего оператора.

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

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

Spec-Zone.ru

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