Maison > base de données > tutoriel mysql > Pourquoi mon application Node.js ne parvient-elle pas à s'authentifier avec MySQL 8.0 ?

Pourquoi mon application Node.js ne parvient-elle pas à s'authentifier avec MySQL 8.0 ?

Susan Sarandon
Libérer: 2024-11-30 14:29:14
original
179 Les gens l'ont consulté

Why is My Node.js App Failing to Authenticate with MySQL 8.0?

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
Copier après la connexion

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 :

  1. Modifier le compte root existant :
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'MyNewPass';
Copier après la connexion
  1. Créer un nouvel utilisateur avec le plugin souhaité :
CREATE USER 'foo'@'localhost' IDENTIFIED WITH mysql_native_password BY 'bar';
Copier après la connexion

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!

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