Maison >base de données >tutoriel mysql >Pourquoi l'octroi de privilèges échoue-t-il avec « Accès refusé » même en tant qu'utilisateur root dans MySQL ?
Accès refusé à l'utilisateur 'root' lors de l'octroi de privilèges expliqué
Dans MySQL, lors d'une tentative d'accorder des privilèges à un autre utilisateur avec l'option 'GRANT ', vous pouvez rencontrer une erreur déroutante "Accès refusé", même si vous êtes connecté en tant qu'utilisateur "root" privilégié avec le mot de passe correct. Cette bizarrerie provient d'une tentative de délégation de privilèges à la table mysql.users, un aspect sensible de la gestion des utilisateurs de MySQL.
Cause de l'erreur
Le fichier mysql.users Le tableau contient des informations sensibles sur les utilisateurs MySQL, notamment les mots de passe hachés, les autorisations et les paramètres. Pour garantir l'intégrité et la sécurité de la base de données, seuls les utilisateurs « root » ont accès aux privilèges sur cette table. Ceci est appliqué comme mesure de sécurité pour empêcher les modifications non autorisées des comptes d'utilisateurs et des autorisations de base de données.
Méthode d'octroi appropriée
Pour accorder efficacement des privilèges, évitez d'utiliser . ou une syntaxe similaire pouvant potentiellement inclure la table mysql.users. Utilisez plutôt la syntaxe suivante pour accorder des privilèges sur des tables, bases de données ou objets globaux spécifiques :
GRANT [privileges] ON [database].[table] TO '[user]'@'[hostname]' IDENTIFIED BY '[password]';
Cette approche limite la délégation de privilèges à des objets spécifiques, à l'exclusion de la table mysql.users.
Notes supplémentaires
Bien que l'utilisation d'utilisateurs « root » avec tous les privilèges soit déconseillée pour des raisons de sécurité, cela peut être nécessaire dans certaines situations. Si vous choisissez d'utiliser un utilisateur « root », assurez-vous que des mesures de sécurité strictes sont en place, telles que des mots de passe forts, le cryptage du réseau et des audits réguliers des bases de données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!