Spec-Zone.ru › MySQL 5.7

13.7.1.6 Заявление REVOKE

REVOKE
    priv_type [(column_list)]
      [, priv_type [(column_list)]] ...
    ON [object_type] priv_level
    FROM user [, user] ...

REVOKE ALL [PRIVILEGES], GRANT OPTION
    FROM user [, user] ...

REVOKE PROXY ON user
    FROM user [, user] ...

Заявление REVOKE позволяет администраторам системы отозвать привилегии у учетных записей MySQL.

Подробности о уровнях привилегий, допустимых значениях priv_type, priv_level и object_type, а также синтаксис для указания пользователей и паролей, см. в разделе 13.7.1.4, «Заявление GRANT».

При включенной системной переменной read_only, для использования заявления REVOKE требуется привилегия SUPER в дополнение к любым другим требуемым привилегиям, описанным ниже.

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

REVOKE INSERT ON *.* FROM 'jeffrey'@'localhost';

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

Для использования первого синтаксиса REVOKE необходимо иметь привилегию GRANT OPTION, а также привилегии, которые отзываются.

Для отзыва всех привилегий используется второй синтаксис, который удаляет все глобальные, базовые, табличные, столбцовые и процедурные привилегии для указанного пользователя или пользователей:

REVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ...

Для использования этого синтаксиса REVOKE необходимо иметь глобальную привилегию CREATE USER или привилегию UPDATE для базы данных системы mysql.

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

REVOKE удаляет привилегии, но не удаляет строки из таблицы системы mysql.user. Для полного удаления учетной записи пользователя используйте DROP USER. Смотрите раздел 13.7.1.3, «Заявление DROP USER».

Если таблицы предоставления содержат строки привилегий, которые содержат имена баз данных или таблиц со смешанным регистром, а системная переменная lower_case_table_names установлена в ненулевое значение, REVOKE не может использоваться для отзыва этих привилегий. Необходимо напрямую манипулировать таблицами предоставления. (GRANT не создаёт таких строк, когда lower_case_table_names установлена, но такие строки могли быть созданы до установки переменной.)

При успешном выполнении из программы mysql, REVOKE отвечает Query OK, 0 rows affected. Чтобы определить, какие привилегии остаются после операции, используйте SHOW GRANTS. Смотрите раздел 13.7.5.21, «Заявление SHOW GRANTS».

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

Spec-Zone.ru

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