Imagine une bibliothèque où tout le monde peut entrer et modifier les livres à tout moment.
Tu viens pour découvrir Le Seigneur des Anneaux, mais soudain, au lieu d’une histoire intemporelle d’amitié et de courage face à un mal omniprésent, c’est tout le contraire.
Quelqu’un a réécrit le voyage héroïque de Frodo et Sam vers le Mordor, les faisant renoncer à sauver la Terre du Milieu, pour plutôt ouvrir une bijouterie à Bree. Leur premier client ? Sauron. Et vous savez quoi, il cherche à acheter une bague.
Quant à Aragorn, Legolas et Gimli ? Disons juste que celui qui a édité l’histoire est très fan de fanfictions. Nous allons en rester là.
Ton site web, c’est comme cette bibliothèque, et la base de données qui le fait fonctionner, c’est comme tous les livres qu’elle contient. Si tu laisses à peu près n’importe qui y accéder et apporter des modifications, tu pourrais te retrouver avec une situation de réécriture du Seigneur des Anneaux — mais bien pire car cela pourrait mettre l’ensemble de ton site (et toutes ses données) en danger.
Base de données
Une base de données est une collection d’informations accessibles aux ordinateurs. Les bases de données sont utilisées pour stocker des informations telles que les dossiers clients, les catalogues de produits et les transactions financières.
En savoir plusC’est pourquoi tu dois contrôler qui peut voir, accéder et modifier tes données pour garder ton site sécurisé et fonctionner sans problème.
Ce post va te guider à travers les bases de la gestion des utilisateurs MySQL, de la création de comptes utilisateurs à l’attribution et la modification des permissions.
Prêt à te lancer ? Commencez maintenant !
Qu’est-ce qu’une base de données MySQL ?
Une base de données MySQL est une collection structurée de données stockées électroniquement et gérées à l’aide du Système de Gestion de Base de Données (DBMS) MySQL.
MySQL, un système de gestion de base de données relationnelles open-source, utilise le langage de requête structuré (SQL) pour accéder, gérer et manipuler les données.
Une base de données MySQL est conçue pour gérer tout, depuis une seule ligne d’informations jusqu’à de grands ensembles de données comprenant des millions de lignes. Elle est construite pour stocker les données dans des tables, qui sont organisées en lignes et colonnes. Chaque table dans une base de données MySQL a un but spécifique, contenant des données pertinentes pour différents aspects de ton site ou application web.
MySQL est bien connu pour être fiable et facile à utiliser. Les développeurs web de divers secteurs l’utilisent pour des applications web, des applications de journalisation, l’entreposage de données, et plus encore. Que tu stockes des informations utilisateur, des catalogues de produits, ou des enregistrements de transactions, MySQL est robuste et évolutif et peut probablement répondre à tes besoins en gestion de base de données.
Astuce Pro : As-tu besoin de migrer ou de connecter une base de données MySQL à ton site DreamHost ? Trouve un tutoriel facile à suivre dans notre Base de connaissances.
Explication Des Comptes Utilisateurs MySQL
Les comptes utilisateurs MySQL sont essentiels pour gérer l’accès à ta base de données. Chaque compte utilisateur dans MySQL peut se voir attribuer des permissions spécifiques qui dictent les actions que l’utilisateur peut effectuer. Ce contrôle granulaire aide à maintenir la sécurité et l’intégrité de tes données.
Le Rôle de l’Utilisateur Root
Lorsque tu installes MySQL pour la première fois, un compte utilisateur par défaut appelé root est créé.
L’utilisateur Root dispose de privilèges administratifs complets, ce qui signifie qu’il peut effectuer n’importe quelle action sur la base de données, y compris créer et supprimer des bases de données, ajouter et retirer des utilisateurs, ainsi qu’accorder ou révoquer des permissions.
Bien que l’utilisateur root soit puissant, nous ne recommandons pas de compter uniquement sur ce compte pour toutes les tâches. Utiliser le compte root pour les opérations quotidiennes représente un risque de sécurité important.
Si quelqu’un obtient un accès non autorisé à ce compte, il aura le contrôle sur ta base de données.

Pourquoi Créer de Nouveaux Utilisateurs ?
Pour une meilleure sécurité et pour rationaliser la gestion des bases de données, la meilleure pratique est de créer des comptes utilisateurs spécifiques pour différents usages.
Par exemple, tu pourrais créer des comptes séparés pour les développeurs, les administrateurs et les processus d’application, en donnant à chaque type de compte uniquement les permissions nécessaires pour accomplir leurs tâches. De cette façon, tu minimises le risque d’actions accidentelles ou malveillantes qui pourraient affecter l’intégrité et la sécurité de ta base de données.
Créer de nouveaux comptes utilisateurs te permet de :
- Améliorer la sécurité de la base de données et du site : Limite l’accès aux données sensibles et aux opérations critiques en attribuant uniquement les autorisations nécessaires à chaque utilisateur.
- Mieux organiser les rôles : Définis clairement les rôles et responsabilités au sein de ton équipe en donnant à chacun le niveau d’accès approprié aux tâches qu’ils doivent accomplir.
- Rendre la gestion de ta base de données plus facile : Suivi et gestion facile des activités des utilisateurs, rendant plus simple l’audit des modifications et l’identification des problèmes.
Comment Gérer Tes Utilisateurs MySQL (Deux Méthodes)
Nous couvrirons deux méthodes principales pour gérer tes utilisateurs MySQL : en utilisant MySQL directement, et en utilisant le panel DreamHost. Au final, la méthode que tu utiliseras dépendra de ton niveau de confort avec les outils en ligne de commande et de tes besoins spécifiques.
Gestion des utilisateurs avec MySQL
Pour gérer les utilisateurs MySQL directement via MySQL, tu dois avoir MySQL installé sur ton système.
Cela implique de télécharger le logiciel MySQL depuis le site officiel MySQL, de l’installer et de le configurer selon les exigences de ton système d’exploitation.
Une fois installé, tu peux interagir avec ta base de données MySQL en utilisant le client en ligne de commande MySQL.
Note de Nerd : La plupart des commandes suivantes ne peuvent être utilisées que sur des serveurs dédiés. Tu peux consulter notre Base de connaissances pour plus d’informations.

Pour installer MySQL, suis ces étapes :
- Visite le site officiel de MySQL ici, télécharge l’installateur et suis les instructions d’installation pour ton système d’exploitation (Windows, macOS ou Linux).
- Après l’installation, tu devras configurer le serveur MySQL pour mettre en place les comptes utilisateurs initiaux et les paramètres de sécurité.
- Utilise le Terminal (sur macOS et Linux) ou l’invite de commande (sur Windows) pour accéder à l’interface en ligne de commande de MySQL en entrant la commande
mysql -u root -p, suivi de ton mot de passe root.
Une fois MySQL configuré, tu peux créer, gérer et supprimer des comptes utilisateurs en utilisant des commandes SQL.
Cette méthode te donne un haut niveau de contrôle et de flexibilité, mais elle nécessite que tu sois familier avec la syntaxe SQL et les opérations en ligne de commande (que nous aborderons plus en détail ci-dessous).
Comment Créer Un Compte Utilisateur MySQL
- Connecte-toi au serveur MySQL en tant qu’utilisateur root. Entre la commande suivante :
mysql -u root -p. - Il te sera demandé d’entrer le mot de passe root. Une fois authentifié, tu seras connecté au serveur MySQL.
- Pour créer un nouvel utilisateur, utilise l’instruction CREATE USER. Remplace newuser par le nom d’utilisateur souhaité et password par un mot de passe sécurisé pour le nouvel utilisateur :
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password'; - Cette commande crée un nouvel utilisateur qui peut seulement se connecter depuis la machine locale (localhost). Si tu souhaites que l’utilisateur se connecte depuis n’importe quel hôte, remplace localhost par %.
- Pour appliquer les changements, exécute la commande FLUSH PRIVILEGES :
FLUSH PRIVILEGES;
Note de Nerd : Lorsqu’un mot de passe est assigné via l’invite de commande, il est de bonne pratique de vider l’historique du terminal pour réduire le risque que quelqu’un tombe sur un mot de passe.
Comment Accorder des Privilèges à un Utilisateur MySQL
- Connecte-toi au serveur MySQL en tant qu’utilisateur root. Entre la commande suivante :
mysql -u root -p. - Entre ton mot de passe root pour te connecter au serveur MySQL.
- Utilise la déclaration GRANT pour attribuer des privilèges spécifiques à un utilisateur. Les privilèges peuvent être accordés pour des bases de données spécifiques, des tables ou même des colonnes. Voici quelques exemples courants :
- Accorder tous les privilèges sur une base de données spécifique (Cette commande accorde tous les privilèges sur la base de données exampledb à l’utilisateur newuser se connectant depuis localhost) :
GRANT ALL PRIVILEGES ON exampledb.* TO 'newuser'@'localhost'; - Accorder des privilèges spécifiques sur une base de données spécifique (Cette commande accorde uniquement les privilèges SELECT, INSERT, et UPDATE sur la base de données exampledb à l’utilisateur newuser se connectant depuis localhost) :
GRANT SELECT, INSERT, UPDATE ON exampledb.* TO 'newuser'@'localhost'; - Accorder tous les privilèges sur toutes les bases de données (Cette commande accorde tous les privilèges sur toutes les bases de données à l’utilisateur newuser se connectant depuis localhost. L’option WITH GRANT OPTION permet à l’utilisateur d’accorder des privilèges à d’autres utilisateurs) :
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost' WITH GRANT OPTION; - Accorder des privilèges sur des tables spécifiques (Cette commande accorde les privilèges SELECT et INSERT sur la table exampletable dans la base de données exampledb à l’utilisateur newuser) :
GRANT SELECT, INSERT ON exampledb.exampletable TO 'newuser'@'localhost';
- Accorder tous les privilèges sur une base de données spécifique (Cette commande accorde tous les privilèges sur la base de données exampledb à l’utilisateur newuser se connectant depuis localhost) :
- Pour appliquer les changements, utilise la commande FLUSH PRIVILEGES :
FLUSH PRIVILEGES;
Comment Voir Les Privilèges Pour Un Utilisateur MySQL
- Connecte-toi au serveur MySQL en tant qu’utilisateur root. Entre la commande suivante :
mysql -u root -p. - Entre ton mot de passe root pour te connecter au serveur MySQL.
- La commande SHOW GRANTS est utilisée pour afficher les privilèges accordés à un utilisateur spécifique. Pour voir les privilèges d’un utilisateur particulier, utilise la commande suivante, en remplaçant newuser par le nom d’utilisateur et localhost par l’hôte depuis lequel l’utilisateur se connecte :
SHOW GRANTS FOR 'newuser'@'localhost'; - Examine attentivement les privilèges listés pour t’assurer que l’utilisateur a les permissions correctes. Si des ajustements sont nécessaires, tu peux modifier les privilèges de l’utilisateur en utilisant les commandes GRANT ou REVOKE, que nous couvrirons dans les sections suivantes.
Comment modifier les permissions pour un utilisateur MySQL
- Connecte-toi au serveur MySQL en tant qu’utilisateur root. Entre la commande suivante :
mysql -u root -p. - Entre ton mot de passe root pour te connecter au serveur MySQL.
- Pour accorder des privilèges supplémentaires à un utilisateur, utilise l’instruction GRANT. Par exemple, pour accorder le privilège UPDATE sur la base de données exampledb à newuser se connectant depuis localhost, utilise :
GRANT UPDATE ON exampledb.* TO 'newuser'@'localhost'; - Pour retirer des privilèges spécifiques à un utilisateur, utilise l’instruction REVOKE. Par exemple, pour révoquer le privilège INSERT sur la base de données exampledb de newuser se connectant depuis localhost, utilise :
REVOKE INSERT ON exampledb.* FROM 'newuser'@'localhost'; - Après avoir utilisé soit GRANT, soit REVOKE, n’oublie pas d’appliquer les changements en utilisant la commande FLUSH PRIVILEGES :
FLUSH PRIVILEGES;
Si tu as besoin de changer complètement les privilèges d’un utilisateur, il peut être plus simple de révoquer tous ses privilèges existants d’abord, puis d’accorder le nouveau jeu de permissions. Pour révoquer tous les privilèges d’un utilisateur, utilise : REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'newuser'@'localhost';
Ensuite, accorde les nouveaux privilèges nécessaires : GRANT SELECT, UPDATE ON exampledb.* TO 'newuser'@'localhost';
N’oublie pas de vider les privilèges après avoir effectué ces modifications : FLUSH PRIVILEGES;
Comment Supprimer Un Utilisateur MySQL
- Connecte-toi au serveur MySQL en tant qu’utilisateur root. Saisis la commande suivante :
mysql -u root -p. - Saisis ton mot de passe root pour te connecter au serveur MySQL.
- Utilise l’instruction DROP USER pour supprimer le compte utilisateur. Remplace newuser par le nom d’utilisateur et localhost par l’hôte depuis lequel l’utilisateur se connecte :
DROP USER 'newuser'@'localhost'; - Si l’utilisateur peut se connecter depuis n’importe quel hôte, utilise :
DROP USER 'newuser'@'%'; - Avant de supprimer un utilisateur, c’est une bonne pratique de s’assurer qu’aucun objet (comme des déclencheurs ou des procédures) ne dépend de l’utilisateur. Si tu fais cela, tu n’auras pas de problèmes inattendus après la suppression de l’utilisateur. Tu peux examiner les objets dépendants dans ta base de données et réaffecter la propriété si nécessaire.
- Bien que l’instruction DROP USER supprime le compte utilisateur et ses privilèges, il est judicieux de vider les privilèges pour être sûr que tous les changements sont immédiatement appliqués :
FLUSH PRIVILEGES;
Comment Afficher les Utilisateurs pour une Base de Données MySQL
Visualiser tous les utilisateurs de ta base de données MySQL est une manière utile de gérer et auditer les comptes utilisateurs. Ensuite, tu sauras qui a accès à ta base de données et quelles sont leurs permissions.
Si tu connais les commandes MySQL, tu pourrais penser qu’il existe une commande SHOW USERS — similaire aux commandes SHOW DATABASES ou SHOW TABLES que tu connais probablement déjà et utilises. Cependant, SHOW USERS n’existe pas.
Alors, comment vois-tu tous tes utilisateurs de base de données ? Suis ces étapes.
- Connecte-toi au serveur MySQL en tant qu’utilisateur root. Entre la commande suivante :
mysql -u root -p. - Entre ton mot de passe root pour te connecter au serveur MySQL.
- MySQL stocke les informations des comptes utilisateurs dans la table mysql.user. Pour voir tous les comptes utilisateurs, tu peux exécuter la requête SQL suivante pour afficher une liste de tous les utilisateurs et les hôtes depuis lesquels ils peuvent se connecter :
SELECT user, host FROM mysql.user; - Si tu as besoin de plus d’informations détaillées sur chaque utilisateur, comme leurs privilèges ou d’autres paramètres, tu peux interroger des colonnes supplémentaires de la table mysql.user. Par exemple :
SELECT user, host, authentication_string, plugin FROM mysql.user; - Pour filtrer et voir des utilisateurs spécifiques, tu peux ajouter une clause WHERE à ta requête. Par exemple, pour voir les utilisateurs se connectant depuis localhost, utilise :
SELECT user, host FROM mysql.user WHERE host = 'localhost';
Gérer Les Utilisateurs Avec DreamHost

Si l’idée d’utiliser des outils en ligne de commande te semble intimidante, le panel DreamHost offre une alternative conviviale pour gérer les utilisateurs MySQL.
Le Panel DreamHost est une interface web qui simplifie les tâches de gestion de base de données, donc tu n’as pas besoin d’utiliser des invites de commande.
Pour des tutoriels détaillés sur l’accès à ta base de données, l’ajout et la suppression d’utilisateurs, la gestion des privilèges, et plus encore, visite notre page de la Base de connaissances pour les bases de données MySQL.

Et si tu cherches un hébergement géré fiable pour ton site web qui rend non seulement la gestion de base de données simple avec un panneau de contrôle intuitif, mais offre également une migration gratuite, un support 24/7 et une garantie de disponibilité — tu as besoin de DreamHost.
Découvre nos plans d’hébergement abordables et découvre pourquoi des millions de personnes et d’entreprises nous choisissent!

Ultime en Puissance, Sécurité et Contrôle
Les serveurs dédiés de DreamHost utilisent le meilleur matériel et logiciel disponible pour garantir que ton site est toujours en ligne, et toujours rapide.
Voir Plus