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
DDDoriginal
2024-12-31 06:32:21386parcourir

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

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:
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