© Éditions Eyrolles
201
chapitre n° 5
Contrôle des données
MySQL utilise :
q
ROUTINE_SCHEMA qui indique le nom de la base hébergeant le sous-programme.
q
ROUTINE_NAME qui indique le nom du sous-programme.
q
ROUTINE_TYPE qui indique la nature du sous-programme.
q
ROUTINE_DEFINITION qui liste le code MySQL du sous-programme.
Citons, pour en terminer avec cette vue, les colonnes :
q
SECURITY_TYPE qui renseigne sur les privilèges associés à la vue lors de son exécution
(soit les privilèges de l’utilisateur créateur : definer ; soit ceux de l’utilisateur qui lance
l’exécution : invoker).
q
CREATED et LAST_ALTERED pour stocker la date de création du sous-programme et
l’instant de la dernière compilation.
q
DEFINER qui indique l’identité de l’utilisateur qui a créé le sous-programme.
q
ROUTINE_COMMENT qui stocke un éventuel commentaire relatif au sous-programme
(initialisé lors de la compilation).
Privilèges des utilisateurs d’une base de données
On retrouve les différents niveaux de privilèges étudiés en début de chapitre.
Au niveau global
La vue USER_PRIVILEGES liste les privilèges des accès utilisateurs au niveau global (les
données viennent de la table mysql.user). La requête suivante extrait les privilèges de
Paul et de Jules (en accès distant ou en local). Non, vous ne rêvez pas, trois simples quotes
sont nécessaires pour tester la valeur de la colonne GRANTEE.
SELECT
FROM INFORMATION_SCHEMA.USER_PRIVILEGES
WHERE GRANTEE LIKE '''Paul%' OR GRANTEE LIKE '''Jules%';
+------------------------+----------------+--------------+
| GRANTEE
| PRIVILEGE_TYPE | IS_GRANTABLE |
+------------------------+----------------+--------------+
| 'Paul'@'localhost'
| USAGE
| NO
|
| 'Jules'@'localhost'
| USAGE
| NO
|
| 'Paul'@'192.168.4.173' | SELECT
| NO
|
| 'Paul'@'192.168.4.173' | CREATE
| NO
|
+------------------------+----------------+--------------+
GRANTEE,PRIVILEGE_TYPE,IS_GRANTABLE
Précédent

- 223/418

Suivant