© Éditions Eyrolles
163
chapitre n° 5
Contrôle des données
Privilèges non abordés
D’autres colonnes de la table mysql.user sont intéressantes, mais sortent un peu du cadre
de ce livre. J’ai donc fait l’impasse sur Create_tmp_table_priv (sert à créer des tables
temporaires), Lock_tables_priv (pose des verrous explicites), Shutdown_priv (arrête
et redémarre le serveur), Process_priv et Super_priv (gèrent les processus), File_
priv (accède aux fichiers du système d’exploitation), Repl_slave_priv et Repl_
client_priv (utilisés pour des aspects de réplication de données).
Nul doute que vous saurez vous servir de ces privilèges en temps voulu, par analogie avec
ceux que nous allons étudier.
Le privilège References_priv n’est pas opérationnel encore. Il permettrait de bénéficier de
l’intégrité référentielle entre deux tables appartenant à deux bases distinctes (par exemple la
table Avion dans bd1 ferait référence par clé étrangère à la table Compagnie dans bd2).
Avant de présenter les autres tables (db, host, tables_priv, columns_priv et procs_
priv) de la base mysql, étudions les intructions relatives à l’attribution d’un privilège
(GRANT), qu’il soit système ou objet, et celles relatives à la révocation d’un privilège (REVOKE).
Attribution de privilèges (GRANT)
La figure suivante illustre le contexte qui va servir d’exemple à l’attibution de prérogatives.
Syntaxe
L’instruction GRANT permet d’attribuer un (ou plusieurs) privilège(s) à propos d’un objet à un
(ou plusieurs) bénéficiaire(s). L’utilisateur qui exécute cette commande doit avoir reçu luimême le droit de transmettre ces privilèges (reçu avec la directive GRANT OPTION). Dans le
cas de root, aucun problème, car il a implicitement tous les droits.
Figure 5-4 Attribution de privilèges
mysql test
information_schema
bdjules
bdpaul
sp1() sp2()
Paul
Jules
Livre
CREATE
Restrictions de
connexion
SELECT(titre)
INSERT - UPDATE(ISBN)
DELETE - SELECT
CREATE
DROP
Execute
sp1() sp2()
Modif sp1()
Précédent

- 185/418

Suivant