Maison >base de données >tutoriel mysql >Comment corriger « Erreur : le client ne prend pas en charge le protocole d'authentification demandé par le serveur » dans MySQL ?

Comment corriger « Erreur : le client ne prend pas en charge le protocole d'authentification demandé par le serveur » dans MySQL ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-04 03:54:09224parcourir

How to Fix

Mise à niveau du client MySQL pour résoudre "Erreur : le client ne prend pas en charge le protocole d'authentification demandé par le serveur"

Lors de la tentative de connexion à une base de données, un message d'erreur indiquant "Le client ne prend pas en charge le protocole d'authentification demandé par le serveur" apparaît souvent. Cette erreur provient de l'incapacité du client à utiliser le protocole d'authentification employé par le serveur. Pour remédier à ce problème, une mise à niveau du client MySQL est nécessaire.

Lorsque cette erreur a été rencontrée, des tentatives initiales ont été faites pour accorder des privilèges à l'utilisateur. Cependant, des erreurs ultérieures ont été rencontrées lors de l'exécution de la commande suivante :

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'mypassword';

Cette erreur est provoquée par l'utilisation d'une version obsolète de MySQL Connector/J (5.1.45 ou version antérieure). MySQL 8 a implémenté un nouveau mécanisme d'authentification (caching_sha2_password) qui n'est pas pris en charge par ces versions.

La solution réside dans la mise à niveau vers MySQL Connector/J 5.1.46 ou version ultérieure. La dernière version au moment de la rédaction est la 8.0.15, qui peut être téléchargée depuis https://dev.mysql.com/downloads/connector/j/. Alternativement, la version correcte peut être spécifiée dans Maven/Gradle.

En mettant à niveau le client MySQL, la compatibilité est assurée avec le dernier protocole d'authentification, éliminant l'erreur « Erreur : le client ne prend pas en charge le protocole d'authentification demandé par le serveur ».

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