Maison > développement back-end > tutoriel php > Pourquoi est-ce que j'obtiens une erreur « Incompatibilité de méthode d'authentification » lors de la connexion de PHP à MySQL 8.0 ?

Pourquoi est-ce que j'obtiens une erreur « Incompatibilité de méthode d'authentification » lors de la connexion de PHP à MySQL 8.0 ?

Susan Sarandon
Libérer: 2024-12-05 10:58:09
original
572 Les gens l'ont consulté

Why Am I Getting a

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

Lors de la connexion à une base de données MySQL depuis PHP, les utilisateurs peuvent rencontrer l'erreur "SQLSTATE[HY000] [2054] The méthode d'authentification demandée par le serveur inconnue du client." Ce problème est dû à une inadéquation entre la méthode d'authentification utilisée par MySQL et la méthode attendue par l'application client.

Cause :

MySQL 8.0 a introduit un plugin d'authentification par défaut appelé caching_sha2_password, qui n'est pas supporté nativement par les anciennes versions de PHP ou par certaines applications clientes. Par défaut, les applications s'attendent à s'authentifier à l'aide d'une méthode basée sur un mot de passe, tandis que MySQL 8.0 nécessite l'utilisation du plugin caching_sha2_password.

Solution :

Pour résoudre l'erreur, vous devez modifier la méthode d'authentification utilisée par MySQL pour qu'elle corresponde à la méthode attendue par votre application. Suivez ces étapes :

  1. Connectez-vous à MySQL en tant qu'utilisateur root.
  2. Exécutez la commande suivante pour modifier la méthode d'authentification de l'utilisateur root en mysql_native_password :
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Copier après la connexion

Remplacez « mot de passe » par le mot de passe root.

  1. Si votre application utilise un utilisateur différent pour se connecter à la base de données, remplacez « root » dans la commande ci-dessus par l'utilisateur approprié.
  2. Redémarrez le service MySQL pour que les modifications prennent effet.

Remarques supplémentaires :

  • Assurez-vous que votre version PHP prend en charge la méthode caching_sha2_password. Sinon, mettez à jour PHP vers une version compatible.
  • Référez-vous à la documentation MySQL pour plus d'informations sur les méthodes d'authentification et les plugins.
  • Si le problème persiste après avoir modifié la méthode d'authentification, assurez-vous que l'utilisateur dispose des autorisations nécessaires pour accéder à la base de données.

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