Maison > base de données > tutoriel mysql > le corps du texte

Comment corriger l'erreur « ER_NOT_SUPPORTED_AUTH_MODE » lors de la connexion de Node.js à MySQL ?

Susan Sarandon
Libérer: 2024-11-17 15:20:02
original
450 Les gens l'ont consulté

How to Fix the

Résolution de l'erreur ER_NOT_SUPPORTED_AUTH_MODE lors de la connexion de Node.js à MySQL

Lors de la connexion d'un serveur Node.js à une base de données MySQL, vous pouvez rencontrer l'erreur « ER_NOT_SUPPORTED_AUTH_MODE : le client fait ne prend pas en charge le protocole d'authentification demandé par le serveur." Ce problème survient lorsque le client et le serveur utilisent des méthodes d'authentification différentes.

Analyse du problème

Le message d'erreur suggère que le serveur MySQL est configuré pour utiliser un protocole d'authentification plus récent. qui n'est pas pris en charge par le client Node.js. Cela peut se produire si la version du client Node.js est obsolète.

Solution

Pour résoudre ce problème, mettez à niveau le client Node.js pour prendre en charge le protocole d'authentification le plus récent utilisé. par le serveur MySQL. Pour MySQL v8.0, suivez ces étapes :

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;
Copier après la connexion

N'oubliez pas de remplacer « root » et « password » par le nom d'utilisateur réel et le mot de passe souhaité. Ces modifications doivent être appliquées à l'utilisateur qui tente de se connecter.

Extrait de code (mis à jour)

Après la mise à jour de la configuration MySQL et des privilèges utilisateur, le Node. js doit être mis à jour pour utiliser la bibliothèque mysql2, qui prend en charge le protocole d'authentification le plus récent :

    const mysql = require('mysql2');

    const connection = mysql.createConnection({
        host     : 'localhost',
        user     : 'root',
        password : 'password',
        database : 'foobarDb'
    });
Copier après la connexion

En implémentant ces étapes, vous pouvez réussir à établir une connexion entre votre serveur Node.js et la base de données MySQL, éliminant ainsi l'erreur "ER_NOT_SUPPORTED_AUTH_MODE".

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