Utilisateurs et privilèges MySQL

Utilisateurs

Créer un utilisateur

Création de l'utilisateur nommé jobi avec le mot de passe lesecret, autorisé à se connecter uniquement depuis le serveur. Pas depuis une autre IP...

CREATE USER 'jobi'@'localhost' IDENTIFIED BY 'lesecret';

Créer un utilisateur pouvant se connecter à partir de n'importe quelle machine

CREATE USER 'jobi'@'%' IDENTIFIED BY 'lesecret';

Supprimer un utilisateur

DROP USER 'jobi'@'localhost';

Privilèges

La création d'utilisateur ne suffit pas. Il existe mais ne peut rien faire. On doit lui accorder des privilèges.

Accorder des privilèges à un utilisateur

Accorder tous les droits à l'utilisateur jobi sur toutes les bases de données.

GRANT ALL PRIVILEGES ON *.* TO 'jobi'@'localhost';

A noter : lors de modifications effectuées sur les privilèges, il est obligatoire de lancer la commande suivante :

FLUSH PRIVILEGES;

Accorder tous les droits à l'utilisateur jobi sur la base de données nom_bdd.

GRANT ALL PRIVILEGES ON nom_bdd.* TO 'jobi'@'localhost';

Accorder tous les droits à l'utilisateur jobi sur la table nom_table au sein de la base de données nom_bdd.

GRANT ALL PRIVILEGES ON nom_bdd.nom_table TO 'jobi'@'localhost';

Révoquer tous les privilèges d'un utilisateur

REVOKE ALL PRIVILEGES ON *.* FROM 'jobi'@'localhost';

Autoriser uniquement les instructions CREATE et SELECT sur toutes les bases de données

GRANT CREATE, SELECT ON *.* TO 'jobi'@'localhost';

Lister les privilèges d'un utilisateur

SHOW GRANTS FOR 'jobi'@'localhost';