Les droits des utilisateurs sont stockés dans les tables
        user, db,
        host, tables_priv et
        columns_priv de la base
        mysql (c'est-à-dire, la base nommée
        mysql). Le serveur MySQL lit ces tables au
        démarrage, et dans les circonstances indiquées dans la section
        Section 5.5.7, « Quand les modifications de privilèges prennent-ils effets ? ».
      
        Les noms utilisés dans ce manuel font référence aux droits
        fournis par MySQL version 4.0.2, tel que présentés dans la
        table ci-dessous, avec le nom de la colonne associée au droit,
        dans la table de droits, et dans le contexte d'application. Plus
        d'informations sur la signification de chaque droit sont
        disponibles à Section 13.5.1.3, « Syntaxe de GRANT et REVOKE ».
      
| Droit | Colonne | Contexte | 
| ALTER | Alter_priv | tables | 
| DELETE | Delete_priv | tables | 
| INDEX | Index_priv | tables | 
| INSERT | Insert_priv | tables | 
| SELECT | Select_priv | tables | 
| UPDATE | Update_priv | tables | 
| CREATE | Create_priv | bases de données, tables ou index | 
| DROP | Drop_priv | bases de données ou tables | 
| GRANT | Grant_priv | bases de données ou tables | 
| REFERENCES | References_priv | bases de données ou tables | 
| CREATE TEMPORARY TABLES | Create_tmp_table_priv | administration du serveur | 
| EXECUTE | Execute_priv | administration du serveur | 
| FILE | File_priv | accès aux fichiers du serveur | 
| LOCK TABLES | Lock_tables_priv | administration du serveur | 
| PROCESS | Process_priv | administration du serveur | 
| RELOAD | Reload_priv | administration du serveur | 
| REPLICATION CLIENT | Repl_client_priv | administration du serveur | 
| REPLICATION SLAVE | Repl_slave_priv | administration du serveur | 
| SHOW DATABASES | Show_db_priv | administration du serveur | 
| SHUTDOWN | Shutdown_priv | administration du serveur | 
| SUPER | Super_priv | administration du serveur | 
        Les droits de SELECT,
        INSERT, UPDATE et
        DELETE vous permettent de faire des
        opérations sur les lignes qui existent, dans une table
        existante d'une base.
      
        La commande SELECT requiert le droit de
        SELECT uniquement si des lignes sont lues
        dans une une table. Vous pouvez exéctuer une commande
        SELECT même sans aucun droit d'accès à une
        base de données dans le serveur. Par exemple, vous pourriez
        utiliser le client mysql comme une simple
        calculatrice :
      
mysql>SELECT 1+1;mysql>SELECT PI()*2;
        Le droit de INDEX vous donne le droit de
        créer et détruire des index de table.
      
        Le droit de ALTER vous donne le droit de
        modifier une table avec la commande ALTER
        TABLE.
      
        Les droits de CREATE et
        DROP vous permettent de créer de nouvelles
        tables et bases de données, et de les supprimer.
      
        Notez que si vous donnez le droit de DROP
        pour la base de données mysql à un
        utilisateur, cet utilisateur pourra détruire la base qui
        contient les droits d'accès du serveur !
      
        Le droit de GRANT vous permet de donner les
        droits que vous possédez à d'autres utilisateurs.
      
        Le droit de FILE vous donne la possibilité
        de lire et écrire des fichiers sur le serveur avec les
        commandes LOAD DATA INFILE et SELECT
        ... INTO OUTFILE. Tout utilisateur qui possède ce
        droit peut donc lire ou écrire dans n'importe quel fichier à
        l'intérieur duquel le serveur MySQL peut lire ou écrire.
      
        Les autres droits sont utilisés pour les opérations
        administratives qui sont exécutées par l'utilitaire
        mysqladmin. La table ci-dessous montre quelle
        commande est associée à mysqladmin avec un
        de ces droits :
      
| Droit | Commande autorisée | 
| RELOAD | reload,refresh,flush-privileges,flush-hosts,flush-logsetflush-tables | 
| SHUTDOWN | shutdown | 
| PROCESS | processlist | 
| SUPER | kill | 
        La commande reload indique au serveur de
        relire les tables de droits. La commande
        refresh vide les tables de la mémoire,
        écrit les données et ferme le fichier de log.
        flush-privileges est un synonyme de
        reload. Les autres commandes
        flush-* effectuent des fonctions similaires
        à la commande refresh mais sont plus
        limitées dans leur application, et sont préférables dans
        certains contextes. Par exemple, si vous souhaitez simplement
        vider les tampons dans le fichier de log, utilisez
        flush-logs, qui est un meilleur choix que
        refresh.
      
        La commande shutdown éteint le serveur.
      
        La commande processlist affiche les
        informations sur les threads qui s'exécutent sur le serveur. La
        commande kill termine un des threads du
        serveur. Vous pouvez toujours afficher et terminer vos propres
        threads, mais vous aurez besoin des droits de
        PROCESS pour afficher les threads, et le
        droit de SUPER pour terminer ceux qui ont
        été démarrés par d'autres utilisateurs. See
        Section 13.5.4.3, « Syntaxe de KILL ».
      
C'est une bonne idée en général, de ne donner les droits de Grant qu'aux utilisateurs qui en ont besoin, et vous devriez être particulièrement vigilant pour donner certains droits :
            Le droit de GRANT permet aux utilisateurs
            de donner leurs droits à d'autres utilisateurs. Deux
            utilisateurs avec des droits différents et celui de
            GRANT pourront combiner leurs droits
            respectifs pour gagner un autre niveau d'utilisation du
            serveur.
          
            Le droit de ALTER peut être utilisé
            pour tromper le système en renommant les tables.
          
            Le droit de FILE peut servir à lire des
            fichiers accessibles à tous sur le serveur, et les placer
            dans une base de données. Le contenu pourra alors être lu
            et manipulé avec SELECT. Cela inclus le
            contenu de toutes les bases actuellement hébergées sur le
            serveur !
          
            Le droit de SHUTDOWN peut conduire au
            dénis de service, en arrêtant le serveur.
          
            Le droit de PROCESS permet de voir en
            texte clair les commandes qui s'exécutent actuellement, et
            notamment les changements de mot de passe.
          
            Le droit de SUPER peut être utilisé
            pour terminer les connexions ou modifier le mode opératoire
            du serveur.
          
            Les droits sur la base de données mysql
            peuvent être utilisés pour changer des mots de passe ou
            des droits dans la table des droits (Les mots de passe sont
            stockés chiffrés, ce qui évite que les intrus ne les
            lisent). S'ils accèdent à un mot de passe dans la table
            mysql.user, ils pourront l'utiliser pour
            se connecter au serveur avec cet utilisateur (avec des
            droits suffisants, le même utilisateur pourra alors
            remplacer un mot de passe par un autre).
          
Il y a des choses qui ne sont pas possibles avec le système de droits de MySQL :
Vous ne pouvez pas explicitement interdire l'accès à un utilisateur spécifique. C'est à dire, vous ne pouvez pas explicitement décrire un utilisateur et lui refuser la connexion.
Vous ne pouvez pas spécifier qu'un utilisateur a les droits de créer et de supprimer des tables dans une base, mais qu'il n'a pas les droits pour créer et supprimer cette base.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

