4.3.3 Когда изменения в привилегиях вступают в силу
При запуске mysqld
все таблицы назначения привилегий загружаются в память
и с этого момента привилегии вступают в силу.
Изменения, которые вносятся в таблицы назначения привилегий при помощи
команд GRANT
, REVOKE
или SET PASSWORD
, учитываются сервером немедленно.
Если вносить изменения в таблицы назначения привилегий вручную (при помощи
команд INSERT
, UPDATE
и т.д.), необходимо запускать оператор FLUSH
PRIVILEGES
, mysqladmin flush-privileges
или mysqladmin reload
, чтобы
указать серверу на необходимость перезагрузить эти таблицы. В противном
случае изменения не вступят в силу, пока сервер не будет перезагружен.
Если внести изменения вручную, но не перезагрузить таблицы назначения
привилегий, то останется только удивляться, почему внесенные изменения не
действуют!
Когда сервер замечает, что были внесены изменения в таблицы назначения
привилегий, он обрабатывает установленные соединения клиентов следующим
образом:
-
Изменения привилегий таблиц и столбцов вступают в силу при следующем
запросе клиента
-
Изменения привилегий баз данных вступают в силу при следующем
использовании команды
USE db_name
-
Изменения глобальных привилегий и изменения пароля вступают в силу при
следующем подсоединении пользователя.