Maison >base de données >tutoriel mysql >Pourquoi est-ce que j'obtiens une erreur « Accès refusé » lorsque j'accorde des privilèges MySQL ?

Pourquoi est-ce que j'obtiens une erreur « Accès refusé » lorsque j'accorde des privilèges MySQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-03 18:52:09382parcourir

Why Am I Getting an

Accès refusé pour 'root'@'localhost' lors de la tentative d'accorder des privilèges

Lorsque vous essayez d'accorder des privilèges en tant qu'utilisateur root, vous peut rencontrer une erreur d’accès refusé même s’il dispose des privilèges nécessaires. Cette erreur peut se produire si vous tentez d'accorder des privilèges à la table mysql.users.

Comprendre le problème

La table mysql.users stocke les informations utilisateur, y compris les privilèges. Par défaut, seul l'utilisateur root peut modifier cette table. Tenter d'accorder des privilèges sur cette table à d'autres utilisateurs peut déclencher l'erreur d'accès refusé.

Solution

Pour résoudre ce problème, accordez des privilèges sur toutes les bases de données et tables à l'exception de la table mysql.users. Utilisez la syntaxe suivante :

GRANT ALL PRIVILEGES ON `%`.* TO '[user]'@'[hostname]' IDENTIFIED BY '[password]' WITH GRANT OPTION;

Dans cette syntaxe, remplacez :

  • %.* : Représente toutes les bases de données et tables sauf mysql.users
  • [user ] : Le nom d'utilisateur auquel vous souhaitez accorder des privilèges
  • [hostname] : Le nom d'hôte ou l'adresse IP à partir de laquelle l'utilisateur peut connect
  • [mot de passe] : Le mot de passe de l'utilisateur

Informations supplémentaires

  • Évitez d'utiliser l'utilisateur root avec tous les privilèges pour des raisons de sécurité.
  • Envisagez de créer un utilisateur distinct avec des privilèges limités pour accorder l'accès à d'autres utilisateurs.
  • Assurez-vous que l'utilisateur auquel vous accordez des privilèges dispose du nom d'hôte et du mot de passe corrects.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn