- 1 1. Introduction
- 2 2. How to Check the User List in MariaDB
- 3 3. Detailed Management of MariaDB Users
- 4 4. Key Considerations for MariaDB User Management
- 5 5. FAQ (Foire aux questions)
- 5.1 Q1 : Comment puis‑je accorder des privilèges uniquement à un utilisateur spécifique ?
- 5.2 Q2 : Quelles sont les causes et les solutions lorsque la liste des utilisateurs n’apparaît pas ?
- 5.3 Q3 : Que faire si l’utilisateur root est verrouillé ?
- 5.4 Q4 : J’ai reçu une erreur lors de la suppression d’un utilisateur. Que faire ?
- 5.5 Q5 : Comment enregistrer la sortie de SHOW GRANTS ?
- 5.6 Résumé
1. Introduction
MariaDB est l’un des systèmes de gestion de bases de données les plus largement utilisés aujourd’hui, reconnu pour sa facilité d’utilisation et ses hautes performances. Parmi ses nombreuses fonctionnalités, la gestion des utilisateurs joue un rôle crucial. En gérant correctement les utilisateurs, vous pouvez garantir la sécurité de la base de données et assurer des opérations efficaces.
Cet article se concentre sur la façon de vérifier la liste des utilisateurs dans MariaDB. Plus précisément, nous expliquerons comment récupérer une liste d’utilisateurs à l’aide de commandes SQL, les différences et les avantages de chaque méthode, ainsi que les paramètres de privilèges associés et les points importants à considérer.
Ce guide est rédigé pour être utile non seulement aux débutants de MariaDB, mais aussi à ceux qui gèrent actuellement des environnements de production. Assurez‑vous de le lire jusqu’à la fin.
2. How to Check the User List in MariaDB
Il existe plusieurs façons de vérifier la liste des utilisateurs dans MariaDB. Chaque méthode possède ses propres caractéristiques, et choisir celle qui convient à votre objectif permet une gestion efficace des utilisateurs. Ci‑dessous, nous détaillons trois méthodes représentatives.
2.1 Using the mysql.user Table
La façon la plus basique de consulter les informations des utilisateurs dans MariaDB consiste à référencer directement la table mysql.user. Cette table stocke toutes les informations de compte utilisateur.
Example Command
Vous pouvez afficher la liste des utilisateurs en exécutant le SQL suivant :
SELECT Host, User FROM mysql.user;
Explanation
- Host : Représente le nom d’hôte depuis lequel l’utilisateur est autorisé à se connecter.
- User : Le nom d’utilisateur enregistré dans MariaDB.
Usage Scenarios
- Lorsque vous souhaitez visualiser tous les utilisateurs sous forme de liste.
- Lorsque vous voulez vérifier quels utilisateurs peuvent se connecter depuis un hôte spécifique.
Important Notes
- Vous avez besoin de privilèges suffisants (généralement les privilèges
root) pour référencer la tablemysql.user. - Dans certaines versions, l’utilisation directe de
mysql.userpeut ne pas être recommandée. Consultez toujours la documentation officielle de votre version.
2.2 Using the SHOW GRANTS Command
Vous pouvez utiliser la commande SHOW GRANTS pour vérifier les privilèges accordés à un utilisateur spécifique.
Example Command
Spécifiez l’utilisateur comme indiqué ci‑dessous pour afficher ses privilèges :
SHOW GRANTS FOR 'username'@'hostname';
Explanation
- Vous pouvez examiner les privilèges détaillés de chaque utilisateur.
- Exemple de sortie :
GRANT ALL PRIVILEGES ON *.* TO 'user1'@'localhost';
Usage Scenarios
- Lorsque vous voulez vérifier que les paramètres de privilèges d’un utilisateur sont corrects.
- Lors du dépannage de problèmes causés par une configuration de privilèges incorrecte.
Important Notes
- Si vous ne disposez pas de privilèges suffisants, vous ne pourrez pas exécuter cette commande.
2.3 Using information_schema.USER_PRIVILEGES
MariaDB inclut une base de données système appelée information_schema. En interrogeant la table USER_PRIVILEGES qu’elle contient, vous pouvez afficher les informations de privilèges pour tous les utilisateurs.
Example Command
SELECT * FROM information_schema.USER_PRIVILEGES;
Explanation
- Cette méthode vous permet de consulter les privilèges globaux de chaque utilisateur.
- La sortie comprend des informations telles que :
- GRANTEE : Nom d’utilisateur et hôte.
- PRIVILEGE_TYPE : Type de privilège accordé.
- IS_GRANTABLE : Indique si le privilège peut être accordé à d’autres.
Usage Scenarios
- Lorsque vous souhaitez examiner les privilèges de plusieurs utilisateurs en même temps.
- Lors d’un audit des paramètres de privilèges globaux.
Important Notes
- Certains privilèges peuvent ne pas être entièrement visibles dans cette table.
Summary
En utilisant correctement ces méthodes, vous pouvez gérer efficacement les comptes utilisateurs et les informations de privilèges de MariaDB. Chaque approche a ses points forts, il est donc essentiel de choisir celle qui correspond le mieux à votre objectif spécifique.

3. Detailed Management of MariaDB Users
MariaDB vous permet de consulter des informations détaillées sur les utilisateurs et de gérer les privilèges de manière efficace. Dans cette section, nous expliquons les opérations essentielles requises pour une gestion appropriée des utilisateurs.
3.1 Checking User Information
Dans MariaDB, vous pouvez utiliser la commande SHOW CREATE USER pour vérifier les informations détaillées d’un utilisateur spécifique. Cette commande reproduit l’instruction utilisée lors de la création de l’utilisateur.
Example Command
Exécutez le SQL suivant pour afficher les informations détaillées de l’utilisateur spécifié :
SHOW CREATE USER 'username'@'hostname';
Explanation
Cette commande est utilisée pour vérifier la méthode d’authentification de l’utilisateur et d’autres attributs. Exemple de sortie :
CREATE USER 'user1'@'localhost' IDENTIFIED VIA mysql_native_password USING '***';
Usage Scenarios
- Lorsque vous souhaitez confirmer la méthode d’authentification d’un utilisateur.
- Lors de la révision des attributs d’un utilisateur pour détecter d’éventuels problèmes.
Important Notes
- Des privilèges appropriés sont requis pour exécuter cette commande (généralement les privilèges
root).
3.2 Setting and Modifying User Privileges
MariaDB permet une configuration flexible des privilèges pour chaque utilisateur. Vous pouvez utiliser les commandes GRANT et REVOKE pour gérer les privilèges.
Granting Privileges
Le SQL suivant accorde des privilèges spécifiques à un utilisateur désigné :
GRANT SELECT, INSERT ON database_name.* TO 'username'@'hostname';
Revoking Privileges
Pour supprimer des privilèges inutiles, utilisez la commande REVOKE :
REVOKE INSERT ON database_name.* FROM 'username'@'hostname';
Explanation
- La commande
GRANTattribue des privilèges d’opération pour des bases de données ou des tables spécifiques. - La commande
REVOKEsupprime les privilèges qui ne sont plus nécessaires.
Usage Scenarios
- Lors de la configuration des privilèges pour un nouvel utilisateur.
- Lors de la suppression de privilèges inutiles afin d’améliorer la sécurité.
Important Notes
- Une configuration de privilèges incorrecte peut augmenter les risques de sécurité, il faut donc agir avec précaution.
3.3 Deleting a User
La suppression d’utilisateurs inutiles renforce la sécurité de la base de données. Utilisez la commande DROP USER pour supprimer un utilisateur.
Example Command
Exécutez le SQL suivant pour supprimer un utilisateur spécifié :
DROP USER 'username'@'hostname';
Explanation
- Lorsqu’un utilisateur est supprimé, tous les privilèges qui lui ont été accordés sont retirés simultanément.
- En cas de succès, MariaDB affiche le message « Query OK ».
Usage Scenarios
- Lors de la suppression permanente d’un utilisateur inutile de la base de données.
- Lors du nettoyage des comptes inutilisés à des fins de sécurité.
Important Notes
- Si l’utilisateur est actuellement connecté, des erreurs inattendues peuvent survenir.
- La suppression d’un utilisateur ne peut pas être annulée, il faut donc confirmer soigneusement avant d’exécuter.
Summary
La gestion appropriée des utilisateurs dans MariaDB est essentielle pour améliorer à la fois la sécurité et l’efficacité opérationnelle. En examinant les informations des utilisateurs, en configurant et modifiant les privilèges, et en supprimant les utilisateurs inutiles, vous pouvez maintenir un environnement de base de données sécurisé et efficace.

4. Key Considerations for MariaDB User Management
Pour gérer correctement les utilisateurs de MariaDB, vous devez prêter attention à plusieurs points importants. Cette section explique comment gérer les privilèges insuffisants, les considérations de sécurité clés, et les différences entre les versions.
4.1 How to Handle Insufficient Privileges
La vérification de la liste des utilisateurs ou des privilèges dans MariaDB nécessite des autorisations suffisantes. Si une opération échoue en raison de privilèges insuffisants, vous pouvez essayer les approches suivantes.
Example Error
Vous pouvez voir une erreur comme la suivante :
ERROR 1045 (28000): Access denied for user 'user1'@'localhost'
How to Fix It
- Confirmez que vous êtes connecté avec le bon utilisateur
- Si les privilèges requis (par exemple le privilège
SELECT) sont manquants, vous ne pourrez peut-être pas interroger la tablemysql.user. - En guise de solution de contournement, essayez de vous connecter en tant qu’utilisateur root et répétez l’opération.
- Connectez-vous en tant qu’utilisateur root
- Se connecter en tant que root permet la plupart des opérations administratives :
bash mysql -u root -p
- Reconfigurer les privilèges
- Accordez les privilèges requis si nécessaire :
sql GRANT ALL PRIVILEGES ON *.* TO 'username'@'hostname'; FLUSH PRIVILEGES;
Notes importantes
- Évitez d’accorder plus de privilèges que nécessaire. Des privilèges excessifs augmentent le risque de sécurité.
4.2 Meilleures pratiques de sécurité
La sécurité doit être la priorité absolue dans la gestion des utilisateurs MariaDB. Voici les points clés à garder à l’esprit.
Supprimer les utilisateurs inutilisés
- Laisser des comptes d’utilisateurs inutilisés peut en faire des cibles potentielles pour les attaquants.
- Passez régulièrement en revue les utilisateurs et supprimez les comptes inutiles :
DROP USER 'username'@'hostname';
Utiliser une politique de mot de passe forte
- Lors de la création d’utilisateurs, définissez des mots de passe difficiles à deviner :
CREATE USER 'user1'@'localhost' IDENTIFIED BY 'StrongPassword123!';
Restreindre l’accès externe
- Limitez les hôtes pouvant se connecter afin d’éviter les accès externes inutiles :
CREATE USER 'user1'@'192.168.0.1' IDENTIFIED BY 'password';
Surveiller les journaux
- Examinez régulièrement les journaux MariaDB (par exemple,
general_logeterror_log) pour détecter les accès suspects.
4.3 Différences entre les versions de MariaDB
Le comportement de MariaDB et les pratiques recommandées peuvent varier selon la version, vous devez donc adapter votre approche en conséquence.
Dépréciation de l’accès direct à mysql.user
- Dans les versions récentes, interroger directement la table
mysql.userpeut être découragé. Dans ce cas, utilisezSHOW GRANTSouinformation_schemaà la place.
Plugins d’authentification
- Selon la version, le plugin d’authentification par défaut peut différer. Les versions anciennes utilisent généralement
mysql_native_password, tandis que les versions récentes peuvent recommander des options plus sécurisées commecaching_sha2_password.
Étapes recommandées
- Vérifiez votre version de MariaDB :
SELECT VERSION();
- Consultez la documentation officielle de votre version et suivez les meilleures pratiques les plus récentes.
Résumé
En comprenant ces considérations clés pour la gestion des utilisateurs MariaDB, vous pouvez renforcer la sécurité et améliorer l’efficacité opérationnelle. Faites attention aux problèmes de privilèges et aux différences propres à chaque version, et adoptez des mesures de sécurité à jour.
5. FAQ (Foire aux questions)
Voici des questions courantes et leurs réponses concernant la gestion des utilisateurs MariaDB. Cette section couvre la configuration des privilèges, la gestion des erreurs et les problèmes d’utilisateur root que les administrateurs rencontrent souvent.
Q1 : Comment puis‑je accorder des privilèges uniquement à un utilisateur spécifique ?
Réponse
Vous pouvez utiliser la commande GRANT pour accorder uniquement les privilèges nécessaires à un utilisateur spécifique. Voici un exemple qui accorde les privilèges SELECT et INSERT sur une base de données précise :
GRANT SELECT, INSERT ON database_name.* TO 'username'@'hostname';
FLUSH PRIVILEGES;
Points clés
- En spécifiant
database_name.*, les privilèges s’appliquent à toutes les tables de cette base de données. - Exécutez
FLUSH PRIVILEGES;pour que les modifications prennent effet.
Q2 : Quelles sont les causes et les solutions lorsque la liste des utilisateurs n’apparaît pas ?
Réponse
Si vous ne pouvez pas afficher la liste des utilisateurs, les causes suivantes sont courantes.
- Privilèges insuffisants
- Si les privilèges requis (par exemple, le privilège
SELECT) sont manquants, vous ne pourrez peut‑être pas interroger la tablemysql.user. - Comme solution de contournement, essayez de vous connecter en tant qu’utilisateur root et répétez l’opération.
- Utiliser la bonne commande
- Dans les versions récentes de MariaDB,
mysql.userpeut être découragé. Dans ce cas, utilisez la commande suivante à la place :SELECT User, Host FROM information_schema.USER_PRIVILEGES;
- Vérifier votre version de MariaDB
- Parce que les méthodes recommandées peuvent différer selon la version, vérifiez d’abord votre version actuelle :
SELECT VERSION();
Q3 : Que faire si l’utilisateur root est verrouillé ?
Réponse
Si l’utilisateur root est verrouillé et que vous ne pouvez pas vous connecter, suivez ces étapes.
- Démarrer MariaDB en mode sûr
- Arrêtez le serveur et redémarrez-le en mode sûr :
bash mysqld_safe --skip-grant-tables &
- Réinitialiser le mot de passe root
- Connectez‑vous à MariaDB en mode sécurisé, puis réinitialisez le mot de passe root en utilisant la commande suivante :
UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root'; FLUSH PRIVILEGES;
- Quittez le mode sécurisé et redémarrez normalement
- Redémarrez MariaDB et revenez à un fonctionnement normal.
Notes importantes
Comme l’authentification est contournée en mode sécurisé, assurez‑vous qu’aucun tiers ne puisse accéder au serveur pendant cette période.
Q4 : J’ai reçu une erreur lors de la suppression d’un utilisateur. Que faire ?
Réponse
Si vous rencontrez une erreur lors de la suppression d’un utilisateur, les problèmes suivants sont des causes courantes.
- L’utilisateur que vous essayez de supprimer est actuellement utilisé
- Si l’utilisateur est actuellement connecté, la suppression peut échouer.
- En guise de solution de contournement, terminez la connexion de l’utilisateur de force :
SHOW PROCESSLIST; KILL connection_id;
- Des objets dépendants existent
- S’il existe des objets associés à l’utilisateur (par exemple, des vues ou des procédures stockées), vous devrez peut‑être les supprimer d’abord.
Q5 : Comment enregistrer la sortie de SHOW GRANTS ?
Réponse
Vous pouvez enregistrer la sortie de SHOW GRANTS dans un fichier pour une révision ultérieure.
- Enregistrer dans un fichier
- Utilisez le client
mysqlen ligne de commande et redirigez la sortie :bash mysql -u root -p -e "SHOW GRANTS FOR 'username'@'hostname';" > grants_output.txt
- Enregistrer comme instructions SQL
- Enregistrez la sortie dans un fichier texte afin de pouvoir la réutiliser plus tard.
Résumé
Dans cette section FAQ, nous avons abordé les questions courantes qui reviennent fréquemment dans la gestion des utilisateurs MariaDB. Utilisez ces réponses pour résoudre les problèmes et améliorer votre efficacité opérationnelle.


