The privileges are stored in the following tables of the MySQL system database:
user, db, tables_priv, columns_priv, procs_priv, and global_grants
When the MySQL server starts, it reads all the grant table content into memory and the in-memory tables become effective for access control.
The grant tables can be modified using statements that belong to the account manager. For example, the SET PASSWORD, REVOKE, RENAME USER, and GRANT commands can be used. However, when they are used, the changes that they make, will be caught by the server and this leads to the grant tables being loaded into memory instantaneously.
However, if the grant tables are modified indirectly using commands such as INSERT, UPDATE, or DELETE, until such time as the server is restarted or the tables reloaded, your changes will have no effect. So always bear this in...