Heim >Datenbank >MySQL-Tutorial >Wie behebt man den Fehler „ER_NOT_SUPPORTED_AUTH_MODE' 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!