sql >> Database >  >> RDS >> Mysql

Node.js kan niet verifiëren bij MySQL 8.0

MySQL 8.0 gebruikt een nieuwe standaard authenticatie-plug-in - caching_sha2_password - terwijl MySQL 5.7 een andere gebruikte - mysql_native_password . Momenteel ondersteunen de community Node.js-stuurprogramma's voor MySQL geen compatibele client-side authenticatiemechanismen voor de nieuwe serverplug-in.

Een mogelijke oplossing is om het type gebruikersaccount te wijzigen om de oude authenticatie-plug-in te gebruiken:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'MyNewPass';

Of maak een andere die dezelfde plug-in gebruikt:

CREATE USER 'foo'@'localhost' IDENTIFIED WITH mysql_native_password BY 'bar';

Er is een pull-verzoek in voorbereiding om het probleem goed aan te pakken.

Een andere optie is om de officiële te gebruiken MySQL Node.js-connector (volledige openbaarmaking:ik ben de hoofdontwikkelaar), die is gebaseerd op de X-protocol en ondersteunt al de nieuwe authenticatiemodus.



  1. Voltooi Laravel 8 Soft Delete &Restore Deleted Records Tutorial

  2. Word lid van het Q&A-forum voor ontwikkelaars

  3. Oracle-tabel of weergave bestaat niet vanuit de opgeslagen procedure

  4. 4 manieren om een ​​lijst met schema's te krijgen in SQL Server Agent (T-SQL)