Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Node.js nie może uwierzytelnić się w MySQL 8.0

MySQL 8.0 używa nowej domyślnej wtyczki uwierzytelniania — caching_sha2_password - podczas gdy MySQL 5.7 używał innego - mysql_native_password . Obecnie społecznościowe sterowniki Node.js dla MySQL nie obsługują kompatybilnych mechanizmów uwierzytelniania po stronie klienta dla nowej wtyczki serwera.

Możliwym obejściem jest zmiana typu konta użytkownika na starą wtyczkę uwierzytelniającą:

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

Lub utwórz inny, który używa tej samej wtyczki:

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

Istnieje żądanie pobrania w przygotowaniu, aby właściwie rozwiązać problem.

Inną opcją jest skorzystanie z oficjalnego Łącznik MySQL Node.js (pełne ujawnienie:jestem głównym programistą), który jest oparty na Protokół X i obsługuje już nowy tryb uwierzytelniania.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wybrać każdy n-ty wiersz z mysql

  2. Klucze obce MySQL

  3. Nie można połączyć się z serwerem MySQL na „localhost” (10061)

  4. Samouczek MySQL – Zrozumienie sekund kryjących się za wartością nadrzędną

  5. Skrypt sprawdzania kondycji replikacji MySQL