GNU/Linux >> Tutoriels Linux >  >> Linux

Créer et modifier des utilisateurs dans MySQL

Cet article vous montre comment créer et modifier des utilisateurs dans MySQL®.

Connexion

  1. Connectez-vous à votre serveur cloud.

  2. 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.


Linux
  1. Comment gérer les bases de données MySQL et les utilisateurs dans cPanel

  2. Créer et supprimer des utilisateurs dans Ubuntu 20.04

  3. Créer une nouvelle base de données et l'utiliser dans MySQL/MariaDB

  4. Howto MySQL :Créer un utilisateur et accorder une autorisation à une base de données

  5. Bases de l'utilisateur et de la base de données MySQL

Comment créer un nouvel utilisateur MySQL via phpMyAdmin

Comment créer une base de données et un utilisateur MySQL dans cPanel ?

Comment créer une nouvelle base de données et un utilisateur MySQL ?

Configuration de la base de données MySQL cPanel et de l'utilisateur

Comment créer des utilisateurs et des groupes dans CentOS7 ?

Comment créer et attacher un utilisateur de base de données dans cPanel