Maison >base de données >tutoriel mysql >Pourquoi est-ce que j'obtiens « ER_NOT_SUPPORTED_AUTH_MODE » lors de la connexion à MySQL 8.0 avec Node.JS ?
MySQL 8.0 - Erreur de protocole d'authentification client
Lorsque vous essayez de vous connecter à une base de données MySQL 8.0 à l'aide de Node.JS, vous pouvez rencontrer l'erreur message :
Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
Cette erreur indique que le client MySQL utilise un protocole d'authentification obsolète qui n'est pas compatible avec le serveur.
Solution :
Pour résoudre ce problème, vous pouvez exécuter les requêtes suivantes dans MySQL Workbench :
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Remplacer ' root' avec votre nom d'utilisateur MySQL, 'localhost' avec l'adresse de l'hôte et 'password' avec le mot de passe souhaité.
Après En exécutant cette requête, exécutez la requête suivante pour actualiser les privilèges :
flush privileges;
Maintenant, essayez à nouveau de vous connecter à la base de données à l'aide de Node.JS.
Si l'erreur persiste, essayez d'exécuter la première requête sans la partie @'localhost' :
ALTER USER 'root' IDENTIFIED WITH mysql_native_password BY 'password';
Cela devrait résoudre l'incompatibilité du protocole d'authentification et vous permettre d'établir avec succès une connexion au base de données.
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!