Heim > Datenbank > MySQL-Tutorial > Wie können sich Node.js-Anwendungen mit dem Caching-SHA2-Passwort von MySQL 8.0 authentifizieren?

Wie können sich Node.js-Anwendungen mit dem Caching-SHA2-Passwort von MySQL 8.0 authentifizieren?

DDD
Freigeben: 2024-12-14 15:23:33
Original
688 Leute haben es durchsucht

How Can Node.js Applications Authenticate with MySQL 8.0's Caching SHA2 Password?

Node.js-Authentifizierungsprobleme beim Herstellen einer Verbindung zu MySQL 8.0

MySQL 8.0 führt einen neuen Authentifizierungsmechanismus ein, der für Node.js-Programme beim Herstellen einer Verbindung Schwierigkeiten bereitet die Datenbank. Die in früheren MySQL-Versionen verwendete Legacy-Authentifizierungsmethode wird standardmäßig nicht mehr unterstützt.

Diskrepanz beim Authentifizierungsmechanismus

MySQL 5.7 verwendete das mysql_native_password-Plugin zur Authentifizierung, während MySQL 8.0 es verwendet caching_sha2_password. Den Node.js-Community-Treibern fehlen derzeit kompatible Mechanismen für das neuere Plugin.

Workarounds für Node.js

Um dieses Problem zu umgehen, gibt es zwei mögliche Workarounds:

  • Rückkehr zum Vermächtnis Plugin:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'MyNewPass';
Nach dem Login kopieren

Dadurch wird das Root-Konto so geändert, dass es die alte Authentifizierungsmethode verwendet.

  • Erstellen eines neuen Benutzers mit dem Legacy-Plugin:
CREATE USER 'foo'@'localhost' IDENTIFIED WITH mysql_native_password BY 'bar';
Nach dem Login kopieren

Dadurch wird ein separater Benutzer mit dem Legacy erstellt Plugin.

Alternative Option mit MySQL-Connector

Eine andere Lösung besteht in der Verwendung des offiziellen MySQL Node.js-Connectors. Dieser Connector nutzt das Problem innerhalb der Community-Node.js-Treiber. Allerdings werden Aktualisierungen voraussichtlich einige Zeit in Anspruch nehmen.

Das obige ist der detaillierte Inhalt vonWie können sich Node.js-Anwendungen mit dem Caching-SHA2-Passwort von MySQL 8.0 authentifizieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage