Heim  >  Artikel  >  Datenbank  >  Wie behebt man den Fehler „ER_NOT_SUPPORTED_AUTH_MODE“ beim Verbinden von Node.js mit MySQL?

Wie behebt man den Fehler „ER_NOT_SUPPORTED_AUTH_MODE“ beim Verbinden von Node.js mit MySQL?

Susan Sarandon
Susan SarandonOriginal
2024-11-17 15:20:02452Durchsuche

How to Fix the

Beheben des ER_NOT_SUPPORTED_AUTH_MODE-Fehlers beim Verbinden von Node.js mit MySQL

Beim Verbinden eines Node.js-Servers mit einer MySQL-Datenbank kann der Fehler „ER_NOT_SUPPORTED_AUTH_MODE: Client tut dies“ auftreten Unterstützt das vom Server angeforderte Authentifizierungsprotokoll nicht. Dieses Problem tritt auf, wenn Client und Server unterschiedliche Authentifizierungsmethoden verwenden.

Problemanalyse

Die Fehlermeldung deutet darauf hin, dass der MySQL-Server für die Verwendung eines neueren Authentifizierungsprotokolls konfiguriert ist Dies wird vom Node.js-Client nicht unterstützt. Dies kann auftreten, wenn die Node.js-Clientversion veraltet ist.

Lösung

Um dieses Problem zu beheben, aktualisieren Sie den Node.js-Client, um das neuere verwendete Authentifizierungsprotokoll zu unterstützen durch den MySQL-Server. Befolgen Sie für MySQL v8.0 die folgenden Schritte:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;

Denken Sie daran, „root“ und „password“ durch den tatsächlichen Benutzernamen und das gewünschte Passwort zu ersetzen. Diese Änderungen müssen auf den Benutzer angewendet werden, der versucht, eine Verbindung herzustellen.

Code-Snippet (aktualisiert)

Nach der Aktualisierung der MySQL-Konfiguration und der Benutzerrechte wird der Node. js-Verbindungs-Snippet sollte aktualisiert werden, um die mysql2-Bibliothek zu verwenden, die das neuere Authentifizierungsprotokoll unterstützt:

    const mysql = require('mysql2');

    const connection = mysql.createConnection({
        host     : 'localhost',
        user     : 'root',
        password : 'password',
        database : 'foobarDb'
    });

Durch die Implementierung dieser Schritte können Sie erfolgreich eine Verbindung zwischen Ihrem Node.js-Server und der MySQL-Datenbank herstellen, wodurch dies entfällt der Fehler „ER_NOT_SUPPORTED_AUTH_MODE“.

Das obige ist der detaillierte Inhalt vonWie behebt man den Fehler „ER_NOT_SUPPORTED_AUTH_MODE“ beim Verbinden von Node.js mit MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn