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.
Sommaire
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 :
-
- Accédez à la ligne de commande et entrez dans le serveur MySQL
mysql
- Le script renvoie ce résultat, qui vérifie que vous accédez à un serveur MySQL.
mysql>
- 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.
- 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';
- Pour que les changements prennent effet, il faut immédiatement supprimer ces privilèges en tapant la commande :
FLUSH PRIVILEGES
- Accédez à la ligne de commande et entrez dans le serveur MySQL
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.
Commentaires
November 17 2020
Bonjour, je suis un débutant TOTAL en mysql et je ne sais pas où écrire les commandes, c'est dans une invite de commande DOS ?
February 09 2022
Bonjour Pierre, Merci de votre commentaire ! "Tout d'abord, Vous devez vous connecter à MySQL (pour l'utilisateur root, il s'agira de la commande mysql -u root -p (ceci doit être entré simplement dans le terminal après s'être connecté via SSH). Ensuite, vous allez insérer le mot de passe de l'utilisateur root de MySQL (ce n'est pas le même que l'utilisateur root du VPS).Une fois connecté, vous verrez l'invite qui dit mysql>. C'est là où vous devez insérer les commandes MySQL".
March 02 2021
Merci frère
March 02 2021
Merci frère
July 26 2021
Je vous remerci beaucoup j'ai pu tirer un profit
January 14 2022
Nous sommes heureux de le savoir
September 04 2021
salut quelle requette utiliser pour implementer une table administrateur et specifier si c'est un root ou non?
February 09 2022
Bonjour Grace, "Il n'y a qu'un seul utilisateur root, donc si vous créez un nouvel utilisateur, ce ne sera pas root (sauf si vous installez MySQL, où vous configurez l'utilisateur root). L'utilisateur "admin" n'existe pas, mais si vous voulez accorder tous les privilèges, vous pouvez utiliser la commande : GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost' ; Pour voir quel utilisateur a quels privilèges, utilisez : SHOW GRANTS FOR 'user'@'localhost' ;"
February 05 2023
Je suis débutante en mysql c'est quoi révoqué une privilège ?
March 01 2023
Bonjour Halimatou très bonne question ! Révoquer les privilèges MySQL signifie supprimer ou révoquer les autorisations d'accès accordées à un utilisateur ou à un groupe d'utilisateurs dans MySQL. J'espère que cette réponse vous est utile.
February 19 2024
Merci beaucoup ces infos !