Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Node.js không thể xác thực với MySQL 8.0

MySQL 8.0 sử dụng plugin xác thực mặc định mới - caching_sha2_password - trong khi MySQL 5.7 sử dụng một cái khác - mysql_native_password . Hiện tại, trình điều khiển Node.js cộng đồng cho MySQL không hỗ trợ cơ chế xác thực phía máy khách tương thích cho plugin máy chủ mới.

Một giải pháp khả thi là thay đổi loại tài khoản người dùng để sử dụng plugin xác thực cũ:

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

Hoặc tạo một cái khác sử dụng cùng một plugin đó:

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

Có một yêu cầu kéo đang trong quá trình thực hiện để giải quyết vấn đề một cách chính xác.

Một tùy chọn khác là sử dụng chính thức Trình kết nối MySQL Node.js (tiết lộ đầy đủ:tôi là nhà phát triển chính), dựa trên Giao thức X và đã hỗ trợ chế độ xác thực mới.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tự động kiểm tra và tối ưu hóa cơ sở dữ liệu MySQL với Crontab / Cron

  2. Cách viết câu lệnh IF ELSE trong truy vấn MySQL

  3. Cách cài đặt MySQL Workbench trên Windows

  4. Bắt đầu ngày đầu tuần trong MySql bằng cách sử dụng Week No

  5. Tương đương 'LIKE' trên Laravel-5 (Hùng biện)