Maison >développement back-end >tutoriel php >Pourquoi mon application PHP obtient-elle l'erreur « Méthode d'authentification inconnue du client » lors de la connexion à MySQL 8.0 ?

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

Barbara Streisand
Barbara Streisandoriginal
2024-12-08 08:56:12362parcourir

Why Does My PHP Application Get

Erreur de méthode d'authentification en PHP avec MySQL 8.0

Les utilisateurs peuvent rencontrer l'erreur "Le serveur a demandé la méthode d'authentification inconnue du client" lors de la tentative pour établir une connexion entre PHP et MySQL version 8.0 .

Root Cause

Cette erreur se produit généralement en raison d'une incompatibilité entre le plugin d'authentification configuré dans MySQL et les attentes de l'application PHP. Dans MySQL 8, le plugin d'authentification par défaut est « auth_socket », ce qui suppose que les applications utiliseront une connexion socket UNIX sans authentification par mot de passe.

Résolution

Pour Pour résoudre ce problème, vous pouvez modifier le plugin d'authentification pour des utilisateurs spécifiques ou pour l'ensemble du serveur MySQL. Voici comment le modifier pour l'utilisateur « root » :

  1. Connectez-vous à MySQL en tant qu'utilisateur « root ».
  2. Exécutez la commande SQL suivante :
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password
BY 'password';

Explication

Cette commande modifie la méthode d'authentification du utilisateur « root » sur « localhost » vers « mysql_native_password ». Remplacez « mot de passe » par le mot de passe souhaité. De plus, vous pouvez spécifier l'utilisateur ou l'hôte auquel votre application PHP se connecte s'il diffère de la combinaison 'root'@'localhost'.

Informations supplémentaires

Si votre application se connecte à la base de données en utilisant un utilisateur non root, modifiez l'utilisateur 'root' dans la commande SQL avec l'utilisateur approprié. Assurez-vous que l'utilisateur existe et dispose des autorisations nécessaires pour accéder à la base de données.

Référez-vous à la documentation Digital Ocean sur l'installation de MySQL pour plus de détails sur la configuration des méthodes d'authentification.

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