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