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.