Easy-Micro


 
ESPACEMEMBRE MySQL
Grant-Revoke

Les commandes GRANT et REVOKE

Ces commandes permettent d'agir sur les privilèges des utilisateurs.

La commande GRANT permet de créer des utilisateurs avec privilèges.
La commande REVOKE permet de révoquer - supprimer - des privilèges.

MySQL Syntaxe de l'instruction GRANT
GRANT privilege ON matable TO username [IDENTIFIED BY `password`]
[WITH GRANT OPTION]

Le mot clé "privilege" est soit une liste de privilèges séparés par des virgules soit le mot clé USAGE qui permet de créer un utilisateur sans lui attribuer de privilèges.

mysql> GRANT create, select, show databases ON *.* TO titi@localhost IDENTIFIED BY 'pass123';

mysql> GRANT all ON *.* TO tutu@easy-micro.org IDENTIFIED BY 'pass123';

Attention: sans mot de passe (et l'instruction IDENTIFIED BY), création pas accepté!

Afficher les privilèges de l'utilisateur ROOT (Attention: GRANTS avec un s):
mysql> SHOW GRANTS FOR root@localhost;

Les caractères *.* peut remplacer le mot clé matable. Par exemple, mabase.* représente toutes les tables de mabase. La close optionnelle WITH GRANT OPTION accorde le droit à l'utilisateur de donner ses propres privilèges à d'autres utilisateurs.

Deux exemples de création d'un utilisateur (titi et toto)
mysql> GRANT USAGE ON mabase.* TO titi@localhost IDENTIFIED BY 'pass123';

mysql> GRANT USAGE ON *.* TO toto@"%.easy-micro.com" IDENTIFIED BY 'monpass';

Attention: sans mot de passe, création pas accepté!
L'utilisateur toto peut ici se connecter depuis toutes les machines du domaine easy-micro.org (remarquons les doubles quottes utilisées pour que MySQL accepte le symbole %.

MySQL Syntaxe de l'instruction REVOKE: REVOKE privilege ON matable FROM username

mysql> REVOKE insert, update ON *.* FROM tutu@easy-micro.org;

Exemple de supression de tous les privilèges d'un utilisateur
mysql> REVOKE all ON *.* FROM tutu@easy-micro.org;

Trois exemples de requête de modification du mot de passe d'un utilisateur
mysql> SET PASSWORD FOR titi@easy-micro.org=PASSWORD('newpassword');

mysql> SET PASSWORD FOR root@localhost=PASSWORD('newpassword');

mysql> UPDATE user SET password=PASSWORD('newpassword') where user='tutu' AND host=localhost;

Exemple pour donner les privilèges de sélection, d'insertion et maj sur toutes bases:
mysql> GRANT select, insert, update ON *.* TO titi@localhost;

Exemple pour retirer les privilèges d'insertion et mise à jour:
mysql> REVOKE insert, update ON *.* TO titi@localhost;

MySQL Modification du mot de passe d'un utilisateur
Chaque utilisateur (sauf l'utilisateur anonyme) peut modifier son mot de passe et, s'il en a le privilège, il peut modifier les mots de passe des autres utilisateurs.

MySQL stocke les mots de passe sous forme cryptée afin qu'ils ne soient pas lisibles (pas possible de décrypter).

mysql> SET PASSWORD FOR titi@localhost=PASSWORD('newpassword');

Note la fonction PASSWORD() permet d'encrypter le mot de passe.

Exemple pour créer un mot de passe de root
mysql> SET PASSWORD FOR root@localhost=PASSWORD('secret');

Pour supprimer un utilisateur, on utilise l'instruction sql :
DELETE FROM user WHERE user='titi';



Suivez les aventures des skippers aquitains sur EasyVoile.com
Flux RSS Easy-Micro - Abonnez-vous Easy-Micro [ François Bisch ]
Vendredi 18 janvier 2019 - Semaine 03 - Sainte Prisca (Demain: Saint Marius)
Aujourd'hui, c'est l'anniversaire de Philippe Starck (1949-70 ans), créateur et décorateur d'intérieur français. Autre 18 janvier: 2016 - Décès de Glenn Frey le chanteur fondateur du groupe californien Eagles.
Haut de page Easy-Micro