Mysql
 sql >> база данни >  >> RDS >> Mysql

Node.js не може да се удостовери в MySQL 8.0

MySQL 8.0 използва нов плъгин за удостоверяване по подразбиране - caching_sha2_password - докато MySQL 5.7 използва различен - mysql_native_password . Понастоящем драйверите на общността Node.js за MySQL не поддържат съвместими механизми за удостоверяване от страна на клиента за новия сървърен плъгин.

Възможно решение е да промените типа на потребителския акаунт, за да използвате стария плъгин за удостоверяване:

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

Или създайте друг, който използва същия плъгин:

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

Има заявка за изтегляне в процес на правилното разрешаване на проблема.

Друга възможност е да използвате официален MySQL Node.js конектор (пълно разкриване:аз съм водещият разработчик), който се основава на Протокол X и вече поддържа новия режим на удостоверяване.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да инсталирам pdo драйвер в php docker изображение?

  2. Как да анотирате полето за автоматично нарастване на MYSQL с анотации на JPA

  3. Как да попълним второ падащо меню въз основа на избор на първо падащо меню с помощта на jQuery/AJAX и PHP/MySQL?

  4. localhost срещу 127.0.0.1 в mysql_connect()

  5. MySQL Премахване на някои чужди ключове