Comprendre l'erreur « La méthode d'authentification demandée par le serveur inconnue du client »
Lors de la tentative d'établissement d'une connexion à une base de données MySQL à partir de PHP, les utilisateurs peuvent rencontrer l'erreur énigmatique : « Le serveur a demandé une méthode d'authentification inconnue du client. » Ce code d'erreur correspond à SQLSTATE[HY000] et provient des versions MySQL 8.0 et supérieures.
Raison de l'erreur
La cause première de ce problème provient généralement d'un divergence entre le mécanisme d'authentification utilisé par la base de données MySQL et les attentes de l'application client (PHP dans ce cas). Par défaut, MySQL 8.0 utilise le plugin d'authentification 'auth_socket', tandis que de nombreuses applications anticipent l'authentification via une connexion protégée par mot de passe.
Solution
Pour résoudre ce problème, les utilisateurs doivent modifier le plugin d'authentification utilisé par leur base de données MySQL pour l'aligner sur les exigences de leur application client. Voici les étapes :
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Be assurez-vous de remplacer « mot de passe » par le mot de passe root souhaité. Si votre application client se connecte en utilisant un autre utilisateur, remplacez « root » dans la commande par le nom d'utilisateur approprié.
Informations supplémentaires
Des précisions supplémentaires sur ce problème peuvent être trouvées. dans la documentation de Digital Ocean sur l'installation de MySQL : https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-20-04.
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!