Problèmes d'authentification Node.js avec MySQL 8.0
Lorsque vous essayez de vous connecter à une base de données MySQL avec le compte root à l'aide de Node.js, certains des problèmes peuvent survenir. Ceci est particulièrement pertinent avec MySQL 8.0, où le plugin d'authentification par défaut est passé de mysql_native_password à caching_sha2_password.
Message d'erreur et cause
Lors de la tentative de connexion à MySQL 8.0 avec une application Node.js, l'erreur suivante peut se produire :
ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
Cette erreur indique que le Le pilote MySQL Node.js ne peut pas utiliser le nouveau plugin d'authentification introduit dans MySQL 8.0.
Solution de contournement :
Pour résoudre le problème et vous connecter à MySQL 8.0 à l'aide du compte root, le plugin mysql_native_password peut être utilisé à la place du caching_sha2_password par défaut. Ceci peut être réalisé via l'une des méthodes suivantes :
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'MyNewPass';
CREATE USER 'foo'@'localhost' IDENTIFIED WITH mysql_native_password BY 'bar';
Solution alternative :
Alternativement, le MySQL officiel Le connecteur Node.js, basé sur le protocole X, peut être utilisé. Ce connecteur prend en charge le nouveau mode d'authentification dans MySQL 8.0.
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!