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';