Gérer les permissions des utilisateurs MySQL

MySQLBeginner
Pratiquer maintenant

Introduction

Dans ce projet, vous allez apprendre à gérer les permissions des utilisateurs dans une base de données MySQL. Plus précisément, vous allez créer un nouvel utilisateur local nommé "Rong" et lui accorder l'accès à la base de données performance_schema.

👀 Aperçu

MariaDB [(none)]> SHOW GRANTS FOR Rong@localhost;
+-------------------------------------------------------------------------------------------------------------+
| Grants for Rong@localhost                                                                                   |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `Rong`@`localhost` IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
| GRANT SELECT ON `performance_schema`.* TO `Rong`@`localhost`                                                |
+-------------------------------------------------------------------------------------------------------------+
2 rows in set (0.000 sec)

🎯 Tâches

Dans ce projet, vous allez apprendre :

  • Comment démarrer le serveur MySQL et vous connecter au terminal MySQL
  • Comment créer un nouvel utilisateur local avec un mot de passe spécifique
  • Comment accorder à un utilisateur l'accès à une base de données spécifique et à ses tables

🏆 Réalisations

Après avoir terminé ce projet, vous serez capable de :

  • Gérer les comptes utilisateurs et les permissions dans une base de données MySQL
  • Comprendre le processus d'octroi et de révocation d'accès à la base de données pour les utilisateurs
  • Appliquer ces compétences pour configurer les permissions des utilisateurs dans vos propres applications basées sur MySQL

Démarrer MySQL et vous connecter

Dans cette étape, vous allez apprendre à démarrer le serveur MySQL et à vous connecter au terminal MySQL.

  1. Ouvrez un terminal sur votre système.

  2. Exécutez la commande suivante pour démarrer le service MySQL :

    sudo /etc/init.d/mysql start
    
  3. Connectez-vous au terminal MySQL :

    mysql -uroot
    

    Vous devriez maintenant être dans le terminal MySQL, où vous pouvez entrer des commandes MySQL.

Créer un utilisateur local

Dans cette étape, vous allez apprendre à créer un nouvel utilisateur local nommé "Rong" avec le mot de passe "123456".

  1. Créez le fichier manUser.sql dans le répertoire ~/project.

  2. Ajoutez le code suivant au fichier pour créer l'utilisateur :

    CREATE USER 'Rong'@'localhost' IDENTIFIED BY '123456';
    

    Cela crée un nouvel utilisateur nommé "Rong" avec le mot de passe "123456" et permet à l'utilisateur de se connecter à partir de la machine locale (localhost).

Accorder l'accès au Performance_schema

Dans cette étape, vous allez apprendre à accorder à l'utilisateur "Rong" l'accès à la base de données performance_schema.

  1. Ouvrez le fichier manUser.sql.

  2. Accordez les permissions nécessaires après le code ajouté dans l'étape précédente :

    GRANT SELECT ON performance_schema.* TO 'Rong'@'localhost';
    

    Cela accorde à l'utilisateur "Rong" la permission de lecture (SELECT) sur toutes les tables de la base de données performance_schema.

  3. Enfin, rafraîchissez les privilèges pour rendre les modifications effectives :

    FLUSH PRIVILEGES;
    

Vérifier la solution

  1. Exécutez le script SQL dans l'invite MySQL :
SOURCE /home/labex/project/manUser.sql;
  1. Vérifiez les résultats en exécutant la commande suivante dans le terminal MySQL :
SHOW GRANTS FOR Rong@localhost;

Cela devrait afficher les autorisations de l'utilisateur "Rong", y compris la permission de lecture (SELECT) sur la base de données performance_schema.

MariaDB [(none)]> SHOW GRANTS FOR Rong@localhost;
+-------------------------------------------------------------------------------------------------------------+
| Grants for Rong@localhost                                                                                   |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `Rong`@`localhost` IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
| GRANT SELECT ON `performance_schema`.* TO `Rong`@`localhost`                                                |
+-------------------------------------------------------------------------------------------------------------+
2 rows in set (0.000 sec)

Résumé

Félicitations ! Vous avez terminé ce projet. Vous pouvez pratiquer plus de laboratoires sur LabEx pour améliorer vos compétences.

✨ Vérifier la solution et pratiquer✨ Vérifier la solution et pratiquer✨ Vérifier la solution et pratiquer✨ Vérifier la solution et pratiquer