Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Топовые новости
Новое

Инструкция REVOKE cоветы и хитрости MySQL

Инструкция REVOKE отменяет привилегии, которые ранее были назначены одному или нескольким пользователям. Платформа MySQL поддерживает многие стандартные ключевые слова ANSI. Стоит отметить такие исключения, как отсутствие поддержки слов TRIGGER, EXECUTE и UNDER. В MySQL также есть приятный способ ускорить глобальное присвоение или отмену привилегий. За описаниями элементов инструкции, которые здесь не приводятся, обращайтесь, пожалуйста, к разделу, посвященному стандарту ANSI.

ALL [PRIVILEGES]

Синоним для ALL PRIVILEGES. В MySQL сюда входят все доступные привилегии, которые применимы на текущем уровне, показанном предложением ON, за исключением привилегии WITH GRANT OPTION.

Это такие привилегии, как SELECT, INSERT, UPDATE, DELETE и тому подобное

SELECT | INSERT | UPDATE | DELETE

Отменяется право читать, записывать, изменять и удалять данные из таблиц (и, возможно, из отдельных столбцов таблицы) соответственно.

REFERENCES

Не реализовано.

USAGE

Отменяются все пользовательские привилегии.

{ALTER | CREATE DROP} ON имя_таблицы

Отменяется право изменять, удалять или создавать таблицы и другие объекты базы данных.

FILE

Отменяется право загружать данные из файлов или записывать данные в файлы, используя команды SELECT INTO и LOAD DATA.

INDEX

Отменяется право создавать или удалять индексы.

PROCESS

Отменяется право просматривать работающие процессы с помощью инструкции SHOW FULL PROCESSLIST.

RELOAD

Отменяется право запускать команду FLUSH.

SHUTDOWN

Отменяется право использовать команду mysqladmin shutdown для завершения работы серверного процесса.

CREATE TEMPORARY TABLES

Отменяется право создавать временные таблицы.

LOCK TABLES

Отменяется право использовать команду MySQL LOCK TABLE в тех таблицах, в которых пользователь имеет привилегии SELECT.

REPLICATION CLIENT

Пользователь лишается права просматривать метаданные о головных и подчиненных серверах при репликации.

REPLICATION SLAVE

Отменяется право читать на подчиненном при репликации сервере (slave) двоичный журнал (binlog) с головного сервера (master).

SHOW DATABASES

Пользователь лишается права выполнять команду MySQL SHOW DATABASES.

SUPER

Пользователь лишается права открывать одно соединение даже после достижения порога максимального числа соединений (max connections). Пользователи с привилегиями SUPER также лишаются возможности выполнять такие команды MySQL, как CHANGE MASTER, KILL, mysqladmin debug, PURGE [MASTER] LOGS и SET GLOBAL.

ON {имя_таблицы | * | *. * | имя_базыДанных.*}

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

FROM

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

У инструкции REVOKE есть ограничения по размеру. Имена пользователей не могут быть больше 16 символов, а имена серверов, баз данных и объектов базы данных не могут превышать 60 символов. Имена пользователей могут быть связаны с конкретным сервером. За подробной информацией обращайтесь к описанию инструкции GRANT.

Также нужно отметить, что в MySQL разрешается иметь несколько уровней привилегий. Так, пользователь может иметь доступ к таблице на табличном уровне плюс дополнительный набор привилегий в той же таблице из-за того, что ему были присвоены глобальные привилегии уровня базы данных или сервера. Это означает, что нужно соблюдать осторожность при отмене привилегий, потому что привилегии глобального уровня могут по-прежнему давать пользователю возможность доступа, притом, что вы думаете, что вы запретили его!

Первая из приведенных ниже команд отменяет все привилегии доступа к таблице sales для пользователей emily и dylan, а вторая команда удаляет все привилегии, которые имеет пользователь sam в базе данных pubs.

REVOKE GRANT OPTION ON sales
FROM kelly;

REVOKE ALL ON pubs.*
FROM sam;

Источник