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
Libérer: 2024-12-17 11:02:26
original
245 Les gens l'ont consulté

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>';
Copier après la connexion
  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
Copier après la connexion

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>';
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal