Maison > base de données > tutoriel mysql > Comment réparer l'erreur d'authentification MySQL 8.0 : incompatibilité de protocole client dans Node.JS ?

Comment réparer l'erreur d'authentification MySQL 8.0 : incompatibilité de protocole client dans Node.JS ?

DDD
Libérer: 2024-12-31 06:32:21
original
386 Les gens l'ont consulté

How to Fix MySQL 8.0 Authentication Error: Client Protocol Mismatch in Node.JS?

Erreur d'authentification MySQL 8.0 : incompatibilité de protocole client

De nombreux utilisateurs rencontrent une erreur lorsqu'ils tentent d'établir une connexion avec MySQL 8.0 à l'aide Node.JS :

Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
Copier après la connexion

Solution

Pour résoudre ce problème, exécutez les commandes suivantes dans MySQL Workbench :

  • ALTER UTILISATEUR 'root'@'localhost' IDENTIFIÉ AVEC mysql_native_password PAR 'password';
  • vider les privilèges;

Assurez-vous de remplacer 'root', 'localhost' et 'password' par votre utilisateur, hôte et mot de passe spécifiques.

Si la méthode ci-dessus échoue, essayez d'exécuter la première commande sans inclure @'localhost'.

Explication

MySQL 8.0 a introduit une méthode d'authentification par défaut de caching_sha2_password, qui n'est pas prise en charge par les anciennes versions du client MySQL. En mettant à jour la méthode d'authentification de l'utilisateur vers mysql_native_password, le client peut s'authentifier avec succès auprès du serveur.

Notes supplémentaires

  • Si vous ne parvenez pas à vous connecter à MySQL Workbench en utilisant l'utilisateur root, vous devrez peut-être réinitialiser le mot de passe root en utilisant la commande suivante étapes :

    • Arrêtez le service MySQL.
    • Démarrez le service MySQL en utilisant l'option --skip-grant-tables.
    • Connectez-vous à MySQL serveur en tant qu'utilisateur root sans mot de passe.
    • Réinitialisez le mot de passe root à l'aide de la commande suivante : SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
    • Redémarrez le service MySQL.
  • Si vous rencontrez d'autres problèmes , consultez les ressources suivantes :

    • Documentation MySQL : https://dev.mysql.com/doc/refman/5.5/en/old-client.html
    • Problème GitHub : https://github.com/mysqljs/mysql/issues/1507

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 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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal