Si l'utilisateur auquel on accorde les privilèges n'existe pas, il sera créé. Auquel cas, il vaut mieux ne pas oublier la clause
IDENTIFIED BY pour donner un mot de passe à l'utilisateur. Sinon, il pourra se connecter sans mot de passe.
Si l'utilisateur existe, et qu'on ajoute la clause IDENTIFIED BY, son mot de passe sera modifié.
Exemples
1. On crée un utilisateur 'john'@'localhost', en lui donnant les privilèges SELECT, INSERT et DELETE sur la table
elevage.Animal, et UPDATE sur les colonnes nom, sexe et commentaires de la table elevage.Animal.
Code : SQL
GRANT SELECT,
UPDATE (nom, sexe, commentaires),
DELETE,
INSERT
ON elevage.Animal
TO 'john'@'localhost' IDENTIFIED BY 'exemple2012';
2. On accorde le privilège SELECT à l'utilisateur 'john'@'localhost' sur la table elevage.Espece, et on modifie son mot
de passe.
Code : SQL
GRANT SELECT
ON TABLE elevage.Espece -- On précise que c'est une table
(facultatif)
TO 'john'@'localhost' IDENTIFIED BY 'change2012';
3. On accorde à 'john'@'localhost' le privilège de créer et exécuter des procédures stockées dans la base de données
elevage.
Code : SQL
GRANT CREATE ROUTINE, EXECUTE
ON elevage.*
TO 'john'@'localhost';
Révocation de privilèges
Pour retirer un ou plusieurs privilèges à un utilisateur, on utilise la commande REVOKE.
Code : SQL
REVOKE privilege [, privilege, ...]
ON niveau_privilege
FROM utilisateur;
Exemple
Code : SQL
REVOKE DELETE
Partie 7 : Gestion des utilisateurs et configuration du serveur
386/414
www.openclassrooms.com
Précédent

- 386/413

Suivant