When mysqld
starts, all grant table contents are read into memory and
become effective at that point.
Modifications to the grant tables that you perform using GRANT
,
REVOKE
, or SET PASSWORD
are noticed by the server immediately.
If you modify the grant tables manually (using INSERT
, UPDATE
,
etc.), you should execute a FLUSH PRIVILEGES
statement or run
mysqladmin flush-privileges
to tell the server to reload the grant
tables. Otherwise your changes will have no effect until
you restart the server.
When the server notices that the grant tables have been changed,
existing client connections are affected as follows:
-
Table and column privilege changes take effect with the client's next
request.
-
Database privilege changes take effect at the next
USE db_name
command.
Global privilege changes and password changes take effect the next time the
client connects.