Cet article vous montre comment créer et modifier des utilisateurs dans MySQL®.
Connexion
-
Connectez-vous à votre serveur cloud.
-
Connectez-vous à MySQL en exécutant la commande suivante :
mysql -u root -p
Vous êtes invité à entrer votre mot de passe racine MySQL (notez qu'il ne s'agit pas du même mot de passe racine du serveur Cloud).
Créer un nouvel utilisateur
Vous pouvez créer un nouvel utilisateur et définir un mot de passe pour l'utilisateur en même temps, comme indiqué dans l'exemple de commande suivant, qui crée un utilisateur avec le nom d'utilisateurtest
:
CREATE USER 'test'@'localhost' IDENTIFIED BY 'newpassword';
Ensuite, vous devez vider les privilèges, ce qui recharge l'user
table dans MySQL. Vous devez effectuer cette étape chaque fois que vous ajoutez ou modifiez un utilisateur.
L'exemple suivant montre la commande que vous utilisez pour vider les privilèges :
FLUSH PRIVILEGES;
Done.
Permissions - Select
Définir les autorisations pour le nouvel utilisateur
A ce stade, votre nouvel utilisateur (test
) n'a pas d'autorisations définies et ne peut rien faire. Vous voudrez peut-être commencer à définir des autorisations en attribuant SELECT
(lecture seule) sur toutes les bases de données disponibles. Vous pouvez accorder des autorisations select en exécutant la commande suivante :
GRANT SELECT ON * . * TO 'test'@'localhost';
Permissions - All
Créez une nouvelle base de données et autorisez test
pour y avoir un accès complet afin qu'ils puissent créer, lire, mettre à jour et supprimer des enregistrements, comme illustré dans l'exemple suivant :
CREATE DATABASE mytestdb;
Now we have the database and the user, we can assign the privileges:
GRANT ALL PRIVILEGES ON `mytestdb` . * TO 'test'@'localhost';
Remarque :Vous devez inclure les backticks qui entourent le nom de la base de données.
Il s'agit du type d'autorisation que vous pouvez utiliser lorsque vous configurez un utilisateur et une base de données pour une application Web. L'utilisateur n'a pas besoin d'accéder à une autre base de données.
Videz les privilèges en exécutant la commande suivante :
FLUSH PRIVILEGES;
Se connecter en tant que nouvel utilisateur
Pour vérifier que les autorisations que vous avez définies fonctionnent correctement, connectez-vous à MySQL en tant que nouvel utilisateur en exécutant la commande suivante :
mysql -u test -p
Lorsque vous y êtes invité, entrez le mot de passe pour le test
utilisateur.
Après vous être connecté en tant que test
utilisateur, essayez de créer une nouvelle base de données en exécutant la commande suivante :
CREATE DATABASE mytestdb2;
Le message d'erreur suivant s'affiche :
ERROR 1044 (42000): Access denied for user 'test'@'localhost' to database 'mytestdb2'
Cette erreur se produit car le test
l'utilisateur n'a que ALL PRIVILEGES
pour la base de données 'mytestdb', et SELECT
privilèges pour tout le reste.
Supprimer un utilisateur
Si vous devez supprimer un utilisateur, le processus est similaire à la suppression d'une base de données. L'exemple suivant montre comment supprimer le test
utilisateur :
DROP USER 'test'@'localhost';
Remarque :Vous devez être connecté à MySQL en tant qu'utilisateur root pour effectuer cette action.