6.9 Prise en compte des modifications de droits

Lorsque mysqld démarre, les tables de droits sont lu, et chargés en mémoire : ils sont alors effectifs.

Les modifications des tables de droits qui se font avec les requêtes GRANT, REVOKE, ou SET PASSWORD sont immédiatement prises en compte.

Si vous modifiez les tables de droits manuellement (INSERT, UPDATE, etc.), vous devrez exécuter la commande FLUSH PRIVILEGES ou lancer mysqladmin flush-privileges pour indiquer au serveur qu'il faut qu'il relise les tables de droits. Sinon, les changements ne seront pas effectifs avant le prochain rechargement.

Lorsque le serveur remarque que les tables de droits ont été changées, les connexions courantes sont traitées comme suit :

  • Les droits de table et de colonnes sont pris en compte à la prochaine requête.
  • Les droits de base sont pris en compte à la prochaine utilisation de la requête USE nom_base_de_donnees.

Les droits globaux et les mots de passes ne changent qu'à la prochaine connexion.