Dépannage de l'erreur « Accès refusé » lors de l'octroi de privilèges en tant que root
Rencontre de l'erreur « Accès refusé pour l'utilisateur 'root'@'localhost' (en utilisant le mot de passe : OUI)" lors de l'octroi de privilèges peut être frustrant, surtout si vous avez confirmé le mot de passe correct et disposez de privilèges suffisants. Ce problème survient souvent lorsque l'on tente d'accorder des privilèges sur des tables système essentielles, telles que la table mysql.users.
La racine du problème :
Les réserves de l'architecture de sécurité de MySQL certaines tables, y compris la table mysql.users, pour un accès exclusif aux utilisateurs de niveau racine. L'octroi de privilèges sur ces tables à des utilisateurs non root est interdit par mesure de sécurité.
La solution :
Pour réussir à accorder des privilèges tout en évitant l'erreur d'accès refusé, modifiez l'instruction d'octroi pour exclure la table mysql.users. Au lieu de ., utilisez %.* pour accorder des privilèges sur tous les autres objets de la base de données :
GRANT ALL PRIVILEGES ON `%`.* TO '[user]'@'[hostname]' IDENTIFIED BY '[password]' WITH GRANT OPTION;
En excluant la table mysql.users, vous respectez les restrictions de sécurité et autorisez l'opération d'octroi pour terminer avec succès.
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!