Comment Créer un Utilisateur MySQL et Accorder des Privilèges

Vous voulez comprendre les bases des opérations de MySQL ? Continuez à lire, car cet article vous montrera comment créer un utilisateur dans MySQL. Vous découvrirez également plusieurs commandes permettant d’accorder des privilèges, de les révoquer et de supprimer des utilisateurs existants.

Avant de passer à la section suivante du tutoriel, assurez-vous que vous avez bien installé MySQL. Si ce n’est pas le cas, nous avons un excellent tutoriel sur la façon de l’installer sur Ubuntu.

REMARQUE : Nous utiliserons la ligne de commande pour accéder à notre VPS Linux en tant que root. Vous pouvez utiliser soit PuTTY (Windows) soit votre terminal (macOS, Linux) et vous connecter en utilisant vos informations de connexion SSH root fournies par votre fournisseur d’hébergement.

Créer un compte utilisateur MySQL et accorder tous les privilèges

Comme vous commencez à utiliser MySQL, vous allez recevoir un nom d’utilisateur et un mot de passe. Ces informations d’identification initiales vous accordent l’accès root. L’utilisateur root a un accès complet à toutes les bases de données et tables dans ces bases de données.

Cependant, il arrive que vous deviez donner accès à la base de données à quelqu’un d’autre sans lui accorder le contrôle total.

Par exemple, vous engagez des développeurs pour maintenir vos bases de données, mais vous ne voulez pas leur donner la possibilité de supprimer ou de modifier des informations sensibles.

Dans ce cas, vous devez leur donner les coordonnées d’un utilisateur non root. De cette façon, vous pourrez suivre ce que les développeurs peuvent et ne peuvent pas faire avec vos données.

Dans cette partie, nous expliquerons comment créer un compte d’utilisateur dans MySQL et accorder tous les privilèges à votre base de données. D’un point de vue pratique, il n’est pas judicieux de donner le contrôle total à un utilisateur non root. Cependant, c’est un bon point d’entrée pour en savoir plus sur les privilèges des utilisateurs.

Pour créer un nouveau compte d’utilisateur dans MySQL, suivez les étapes suivantes :

    1. Accédez à la ligne de commande et entrez dans le serveur MySQL
      mysql
    2. Le script renvoie ce résultat, qui vérifie que vous accédez à un serveur MySQL.
      mysql>
    3. Ensuite, exécutez la commande suivante :
      CREATE USER 'nouveau_utilisateur'@'localhost' IDENTIFIED BY 'mot_de_passe';

      Dans cette commande, ‘nouveau_utilisateur’ est le nom que nous avons donné à notre nouvel utilisateur. Et ‘mot_de_passe’ est le mot de passe de cet utilisateur. Vous pouvez remplacer ces valeurs par les vôtres, à l’intérieur des guillemets.

    4. La simple création de ce nouvel utilisateur ne suffit pas. Vous devez lui accorder des privilèges. Pour accorder à l’utilisateur récemment créé tous les privilèges pour la base de données, exécutez la commande suivante :
      GRANT ALL PRIVILEGES ON * . * TO 'nouveau_utilisateur'@'localhost';
    5. Pour que les changements prennent effet, il faut immédiatement supprimer ces privilèges en tapant la commande :
      FLUSH PRIVILEGES

Et c’est tout! Votre nouvel utilisateur a le même accès à la base de données que l’utilisateur root.

Accorder des privilèges séparément pour un utilisateur MySQL

Dans cette partie, nous expliquerons comment accorder des privilèges séparément pour un compte d’utilisateur dans MySQL.

Lorsque vous indiquez le nom de la base de données et le nom de la table, séparez-les par un . (point) et sans espace. Cela permettra à l’utilisateur root d’exercer un contrôle précis sur certaines données.

De plus, remplacez la valeur TYPE_DE_PERMISSION par le type d’accès que vous souhaitez accorder à votre nouveau compte d’utilisateur.

Voici les commandes les plus utilisées dans MySQL :

  • CREATE – Permet aux utilisateurs de créer des bases de données/tableaux
  • SELECT – Permet aux utilisateurs de récupérer des données
  • INSERT – Permet aux utilisateurs d’ajouter de nouvelles entrées dans les tableaux
  • UPDATE – Permet aux utilisateurs de modifier les entrées existantes dans les tableaux
  • DELETE – Permet aux utilisateurs de supprimer les entrées de la tableau
  • DROP – Permet aux utilisateurs de supprimer des bases de données/tableaux entiers

REMARQUE : L’utilisation de la permission ALL PRIVILEGES de la version précédente permettra d’obtenir toutes les permissions énumérées ci-dessus.

Pour utiliser l’une de ces options, remplacez simplement TYPE_DE_PERMISSION par le mot-clé approprié. Pour appliquer plusieurs privilèges, séparez-les avec une commande comme celle-ci. Par exemple, nous pouvons assigner les privilèges CREATE et SELECT à notre utilisateur MySQL non root avec cette commande

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

Bien sûr, vous pourriez faire face à une situation où vous devez révoquer certains privilèges d’un utilisateur. Vous pouvez le faire en utilisant la commande suivante:

REVOKE TYPE_DE_PERMISSION ON base_de_donnees.table FROM ‘nom_utilisateur’@‘localhost’;

Par exemple, pour révoquer tous les privilèges de notre utilisateur non-root, nous devrions utiliser:

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

Enfin, vous pouvez supprimer entièrement un utilisateur existant en utilisant la commande suivante:

DROP USER ‘nom_utilisateur’@‘localhost’;

REMARQUE : N’oubliez pas que vous devez disposer d’un accès root pour exécuter l’une de ces commandes. Assurez-vous d’exécuter la commande FLUSH PRIVILEGES ; après avoir effectué vos modifications.

Afficher les privilèges d’un compte utilisateur MySQL

Afin de trouver quels privilèges ont déjà été accordés à un utilisateur MySQL, vous pouvez utiliser la commande SHOW GRANTS :

SHOW GRANTS FOR 'nom_utilisateur'@'localhost';

Le résultat sera similaire à celui-ci :

+-----------------------------------------------------------------------------+
| Grants for nom_utilisateur@localhost                                         |
+-----------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'nom_utilisateur'@'localhost'                          |
| GRANT ALL PRIVILEGES ON 'base_de_donnees'.* TO 'nom_utilisateur'@'localhost'.|
| REVOKE ALL PRIVILEGES ON * . * FROM 'nom_utilisateur'@'localhost';  |
+-----------------------------------------------------------------------------+
3 rows in set (0.00 sec)

Qu’est-ce qu’une base de données MySQL ?

Pour comprendre MySQL, vous devez savoir ce qu’est une base de données. Il s’agit d’un stockage virtuel où vous pouvez sauvegarder les données nécessaires pour créer des sites web et des applications web.

La base de données MySQL peut stocker les détails des comptes utilisateurs, tels que les noms d’utilisateur, les mots de passe, les adresses e-mail et tout type d’information que vous souhaitez conserver pour un usage ultérieur.

Toutefois, les données stockées doivent être dans un certain ordre. C’est pourquoi nous disposons de systèmes de gestion de base de données. Ces outils sont utilisés pour communiquer avec la base de données et permettent aux développeurs de structurer, stocker, vider et modifier les données.

MySQL est l’un des noms les plus populaires en matière de systèmes de gestion de bases de données. Cela est dû à sa facilité d’utilisation et au soutien de la communauté. Des plateformes telles que Facebook et Twitter utilisent même MySQL à un certain point.

Conclusion

Une base de données est un élément essentiel de tout site web et de toute application web, car elle stocke toutes les données des utilisateurs. Pour la gérer et communiquer avec elle plus efficacement, vous aurez besoin d’un système de gestion de base de données. C’est pourquoi nous vous recommandons d’utiliser l’option la plus populaire et la plus recommandée – MySQL, en raison de sa fiabilité et de sa facilité d’utilisation.

Dans ce tutoriel, vous avez appris quelques commandes de base pour effectuer plusieurs tâches dans MySQL, notamment :

  • Créer un utilisateur MySQL et lui accorder tous les privilèges
  • Donner des privilèges spécifiques à un utilisateur, les révoquer et supprimer entièrement un utilisateur MySQL
  • Afficher les privilèges dont dispose déjà un utilisateur de MySQL

Bonne chance, et n’hésitez pas à laisser un commentaire ci-dessous si vous avez des questions.

Author
L'auteur

Ismail

Ismail est un spécialiste du référencement et de la localisation chez Hostinger. Il est passionné par la technologie et le développement web et possède des années d'expérience dans le domaine informatique. Ses passe-temps incluent les jeux vidéo et le football.