Maison >base de données >tutoriel mysql >Pourquoi MySQL 8.0 renvoie-t-il « La méthode d'authentification demandée par le serveur inconnue du client » ?

Pourquoi MySQL 8.0 renvoie-t-il « La méthode d'authentification demandée par le serveur inconnue du client » ?

DDD
DDDoriginal
2024-12-10 20:03:12984parcourir

Why Does MySQL 8.0 Return

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 :

  1. Accédez à la base de données MySQL en tant qu'utilisateur 'root'.
  2. Exécutez la commande SQL suivante :
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!

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