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