Maison >base de données >tutoriel mysql >Pourquoi mon application PHP obtient-elle une erreur « Méthode d'authentification inconnue du client » lors de la connexion à MySQL 8.0 ?

Pourquoi mon application PHP obtient-elle une erreur « Méthode d'authentification inconnue du client » lors de la connexion à MySQL 8.0 ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-10 12:21:10914parcourir

Why Does My PHP Application Get a

Erreur de connexion PHP avec MySQL 8.0 : méthode d'authentification inconnue du client

Description du problème

Lors de l'établissement d'une connexion entre PHP et une base de données MySQL 8.0, une erreur apparaît : "Le serveur a demandé une méthode d'authentification inconnue du client." Cette erreur peut indiquer des problèmes avec le plugin d'authentification attribué à la base de données.

Réponse

Le plugin d'authentification par défaut dans MySQL 8 est « auth_socket », qui nécessite la connexion du client. pour utiliser l'authentification basée sur socket. Cependant, les applications PHP préfèrent généralement l'authentification par mot de passe. Pour résoudre ce problème :

  1. Connectez-vous en tant qu'utilisateur root à MySQL : Connectez-vous à votre serveur MySQL en tant qu'utilisateur root en utilisant votre méthode préférée (par exemple, MySQL Workbench ou une invite de commande).
  2. Changer le plugin d'authentification : Exécuter le SQL suivant commande :
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password
BY 'password';

Assurez-vous de remplacer « mot de passe » par le mot de passe root souhaité. Si votre application se connecte en utilisant un autre utilisateur, remplacez « root » par le nom d'utilisateur approprié dans la commande.

Cette commande modifie le plugin d'authentification pour l'utilisateur « root » (ou l'utilisateur spécifié) en « mysql_native_password, ' qui prend en charge l'authentification par mot de passe.

  1. Redémarrez MySQL : Une fois la commande exécutée, redémarrez MySQL pour appliquer les changements. La méthode spécifique varie en fonction de votre système d'exploitation et de votre méthode d'installation.
  2. Vérifiez la connexion : Réessayez de vous connecter à MySQL à l'aide de votre application PHP. L'erreur ne devrait plus se produire.

Des informations supplémentaires peuvent être trouvées dans la documentation de Digital Ocean sur [Installation de MySQL](https://www.digitalocean.com/community/tutorials/how-to-install -mysql-sur-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