Maison >base de données >tutoriel mysql >Pourquoi est-ce que j'obtiens une erreur « Méthode d'authentification mysqli_connect inconnue ([caching_sha2_password]) » ?

Pourquoi est-ce que j'obtiens une erreur « Méthode d'authentification mysqli_connect inconnue ([caching_sha2_password]) » ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-17 11:02:26248parcourir

Why Am I Getting a

Erreur d'authentification résolue : méthode d'authentification mysqli_connect inconnue ([caching_sha2_password])

Lors de la connexion à une base de données MySQL à l'aide de mysqli_connect de PHP, vous pouvez rencontrer l'erreur suivante : "Le serveur a demandé une méthode d'authentification inconnue du client [caching_sha2_password]". Ce problème survient lorsque le serveur MySQL est configuré pour utiliser la méthode d'authentification caching_sha2_password, qui n'est pas prise en charge nativement par certains comptes d'utilisateurs ou peut nécessiter une configuration supplémentaire.

Cause de l'erreur :

La méthode d'authentification caching_sha2_password est une méthode sécurisée utilisée par MySQL Server pour le stockage et l'authentification des mots de passe. Il remplace l'ancienne méthode mysql_native_password et améliore la sécurité en stockant les mots de passe sous forme hachée. Par défaut, caching_sha2_password devient la méthode d'authentification par défaut lorsque certaines conditions sont remplies.

Résoudre le problème :

Pour résoudre ce problème, vous avez deux options :

  1. Convertir les comptes d'utilisateurs en mysql_native_password :
  • Exécutez la commande SQL suivante pour convertir les comptes d'utilisateurs afin d'utiliser la méthode d'authentification mysql_native_password :
ALTER USER '<mysqlUsername>'@'localhost' IDENTIFIED WITH mysql_native_password BY '<mysqlUsernamePassword>';
  1. Modifier le serveur MySQL Configuration :
  • Ouvrez le fichier de configuration du serveur MySQL (généralement nommé my.cnf) et accédez à la section [mysqld].
  • Modifiez la valeur du Paramètre "default_authentication_plugin" de caching_sha2_password à mysql_native_password :
[mysqld]
default_authentication_plugin=mysql_native_password

Remarque : Après avoir apporté des modifications au fichier de configuration du serveur MySQL, vous devez redémarrer le serveur MySQL pour que les modifications prennent effet.

Création de nouveaux utilisateurs avec mysql_native_password :

Lors de la création de nouveaux utilisateurs avec l'authentification mysql_native_password, utilisez la commande suivante :

CREATE USER '<mysqlUsername>'@'localhost' IDENTIFIED WITH mysql_native_password BY '<mysqlUsernamePassword>';

Considérations supplémentaires :

  • Assurez-vous que l'utilisateur que vous utilisez pour vous connecter à la base de données a les autorisations appropriées.
  • Vérifiez le journal des erreurs du serveur MySQL pour tout message d'erreur supplémentaire susceptible de fournir plus d'informations. contexte.
  • Envisagez de mettre à jour l'algorithme de hachage de mot de passe sur le serveur MySQL pour améliorer davantage la 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