Présentation
Par défaut, MySQL s'installe et fonctionne sous l'utilisateur root avec tous les privilèges. Cependant, tous ceux qui accèdent à la base de données ne doivent pas avoir tous les droits sur les données pour des raisons de sécurité.
MySQL fournit des méthodes pour créer de nouveaux comptes d'utilisateurs et accorder des privilèges sur la base de données. Une simple commande permet de fournir des informations précieuses sur les privilèges dont disposent actuellement les utilisateurs.
Ce tutoriel montre comment vérifier les privilèges de l'utilisateur sur un serveur MySQL.
Prérequis
- Accès à la ligne de commande/au terminal.
- MySQL installé et configuré.
- Accès au compte utilisateur racine MySQL.
Comment afficher les privilèges d'un utilisateur dans MySQL ?
Pour afficher les privilèges d'un utilisateur dans MySQL :
1. Ouvrez le terminal (CTRL +ALT +T ) et connectez-vous au serveur MySQL en tant que root :
mysql -u root -p
Fournissez le mot de passe root lorsque vous y êtes invité, puis appuyez sur Entrée pour démarrer le moniteur MySQL.
2. Si vous connaissez le nom d'utilisateur et l'hôte exacts pour lesquels vous souhaitez vérifier les privilèges, ignorez cette étape. Sinon, affichez tous les utilisateurs et hôtes :
SELECT user,host FROM mysql.user;
Localisez le nom d'utilisateur et l'hôte exacts pour l'étape suivante.
3. Utilisez l'instruction suivante pour vérifier les privilèges d'un utilisateur spécifique :
SHOW GRANTS FOR <username>@<host>;
Par exemple, pour vérifier les autorisations pour test_user
:
SHOW GRANTS FOR test_user;
Sans nom d'hôte, la commande recherche l'hôte par défaut '%'
.
Vous pouvez également vérifier les autorisations de l'utilisateur actuellement connecté avec :
SHOW GRANTS;
La sortie imprime un tableau avec tous les privilèges d'accès. Le premier octroi a été généré automatiquement lors de la création de l'utilisateur, et l'administrateur a attribué tous les droits suivants ultérieurement.