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

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

Susan Sarandon
Libérer: 2024-12-12 10:32:10
original
357 Les gens l'ont consulté

MySQL 8.0 Authentication Error: How to Fix

"MySQL 8.0 : Erreur d'authentification résolue - Incompatibilité du client"

Utilisateurs rencontrant l'erreur "Le client ne prend pas en charge le protocole d'authentification demandé par le serveur" lorsque vous essayez de vous connecter à MySQL 8.0, vous rencontrez fréquemment ce problème. Cela se produit lorsque la version du client MySQL est incompatible avec le protocole d'authentification utilisé par le serveur MySQL.

Comprendre le problème

MySQL 8.0 a introduit une nouvelle méthode d'authentification appelée SCRAM- SHA-256. Si le client MySQL ne prend pas en charge cette méthode, il ne parviendra pas à établir une connexion, ce qui entraînera l'erreur mentionnée ci-dessus.

Solution :

1. Vérifiez la compatibilité du client :

Confirmez si la version du client MySQL est compatible avec MySQL 8.0. Sinon, mettez à niveau le client vers la dernière version.

2. Réinitialiser l'authentification de l'utilisateur :

À l'aide de MySQL Workbench ou d'un autre outil, exécutez les requêtes suivantes :

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;
Copier après la connexion

Assurez-vous de remplacer « root » et « mot de passe » par votre nom d'utilisateur et votre mot de passe réels. , respectivement.

3. Réessayer la connexion :

Essayez à nouveau d'établir une connexion au serveur MySQL à l'aide du code node.js fourni. Si la méthode d'authentification SCRAM-SHA-256 est désormais prise en charge par le client, la connexion sera établie avec succès.

4. Solution alternative :

Si les étapes ci-dessus ne résolvent pas le problème, supprimez la partie @'localhost' de la spécification utilisateur dans la requête ALTER USER, c'est-à-dire :

ALTER USER 'root' IDENTIFIED WITH mysql_native_password BY 'password';
Copier après la connexion

5. Vérifier la connexion active :

Vérifiez la console MySQL ou exécutez la requête suivante pour vérifier que la connexion est active :

SELECT USER();
Copier après la connexion

Si elle renvoie votre nom d'utilisateur, la connexion est établie avec succès .

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