Maison >base de données >tutoriel mysql >Pourquoi est-ce que j'obtiens l'erreur MySQL 1045 : accès refusé à la « facture » ​​de l'utilisateur, même avec le mot de passe correct ?

Pourquoi est-ce que j'obtiens l'erreur MySQL 1045 : accès refusé à la « facture » ​​de l'utilisateur, même avec le mot de passe correct ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-15 08:13:15651parcourir

Why Am I Getting MySQL Error 1045: Access Denied for User 'bill' Even with the Correct Password?

Résolution de l'erreur MySQL 1045 : accès refusé à la « facture » ​​de l'utilisateur à l'aide d'un mot de passe

Lors de la tentative de connexion à une base de données MySQL en tant qu'utilisateur ' bill' avec le mot de passe correct, vous pouvez rencontrer l'erreur 1045 : Accès refusé pour l'utilisateur 'bill'@'localhost'. Cette erreur se produit généralement en raison de l'existence d'un utilisateur anonyme ('') avec un spécificateur d'hôte correspondant ('localhost').

MySQL résout les conflits d'authentification en triant les lignes de l'utilisateur par ordre de spécificité d'hôte, avec un littéral les noms d'hôtes et les adresses IP étant les plus spécifiques. Par conséquent, une spécification d'utilisateur anonyme (« @'localhost ») peut avoir préséance sur une spécification d'utilisateur plus spécifique (« bill'@'%'), conduisant à l'erreur d'accès refusé.

Solution :

Pour résoudre ce problème, il est recommandé de supprimer l'utilisateur anonyme ('') avec l'hôte correspondant**. Cela peut être fait à l'aide de la commande suivante :

DROP USER '';

Une fois l'utilisateur anonyme supprimé, l'authentification devrait réussir lors de la connexion en tant que 'bill'@'%' avec le mot de passe correct.

Considérations supplémentaires :

  • L'authentification en tant que 'bill'@'%' via un socket est possible, car elle remplace la spécification de l'hôte dans la table utilisateur. Cependant, la connexion via TCP avec un nom d'hôte littéral ou une adresse IP sera toujours soumise aux mêmes règles d'authentification.
  • S'il existe plusieurs utilisateurs anonymes avec le même spécificateur d'hôte, la première entrée correspondante dans la liste d'utilisateurs triée sera utilisé pour l'authentification.
  • Il est important de noter que les installations MySQL par défaut ont souvent un utilisateur anonyme sans mot de passe, qui doit être sécurisé ou supprimé pour des raisons de sécurité.

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