Maison > développement back-end > tutoriel php > Comment corriger l'erreur « Méthode d'authentification inconnue [caching_sha2_password] » de MySQL avec mysqli_connect ?

Comment corriger l'erreur « Méthode d'authentification inconnue [caching_sha2_password] » de MySQL avec mysqli_connect ?

Susan Sarandon
Libérer: 2024-12-13 19:10:11
original
496 Les gens l'ont consulté

How to Fix MySQL's

Résolution de l'erreur d'authentification MySQL : "Méthode d'authentification inconnue [caching_sha2_password]" avec mysqli_connect

Lorsque vous tentez d'établir une connexion à une base de données à l'aide de mysqli_connect, vous pouvez rencontrer une erreur indiquant " Le serveur a demandé une méthode d'authentification inconnue du client [caching_sha2_password]." Cette erreur résulte d'une incompatibilité entre la méthode d'authentification configurée sur le serveur MySQL et la méthode prise en charge par votre code PHP.

Plus précisément, le fichier ini du serveur MySQL définit default_authentication_plugin sur caching_sha2_password. Ce plugin offre une sécurité renforcée mais nécessite la prise en charge du client pour cette méthode. Cependant, votre code PHP utilise le mécanisme d'authentification par mot de passe natif MySQL par défaut, qui n'est pas compatible avec caching_sha2_password.

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

Option 1 : Modifier le plugin d'authentification sur MySQL Server

Vous pouvez modifier le default_authentication_plugin dans le fichier ini du serveur MySQL en mysql_native_password. Cela permettra à votre code PHP de se connecter à l'aide de la méthode d'authentification par mot de passe native.

Option 2 : Spécifier la méthode d'authentification dans le code PHP

Vous pouvez également spécifier la méthode d'authentification dans votre code PHP pour qu'elle corresponde la configuration du serveur. Cela peut être fait en utilisant la fonction mysqli_options() avant d'appeler mysqli_connect().

mysqli_options(mysqli, MYSQLI_OPT_AUTH_PLUGIN, 'caching_sha2_password');
Copier après la connexion

Modification de l'authentification utilisateur

Si aucune des options ci-dessus ne résout le problème, vous devrez peut-être modifier la méthode d'authentification pour l'utilisateur spécifique qui tente de se connecter. Cela peut être fait à l'aide de la commande SQL suivante :

ALTER USER 'username'@'hostname' IDENTIFIED WITH mysql_native_password BY 'new_password';
Copier après la connexion

En implémentant ces solutions, vous pouvez réussir à établir une connexion à MySQL à l'aide de mysqli_connect malgré la méthode d'authentification par défaut définie sur le serveur.

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