Node.js v16.13.0 连接MySQL数据库8.0.27失败问题

小白尝试使用Javascript语言连接MySQL数据库,结果出现了如下错误:

[SELECT ERROR] -  ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client

查阅网上资料,看到如下解决办法,所以来记录一下。


解决方法:

  1. 最好MySQL数据库初始化是有密码的,比如我是 user:root,password:root
  2. 连接进入MySQL数据库
  3. 输入ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
  4. 再然后进入Node.js 连接数据库就不报错误了,就可以查询成功了。
  5. 原博客输入了两条命令,但我是刚刚初始化修改的密码,所以就只输入了第二个,好在解决了,如果不能解决就输入两个吧。
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRENEVER;
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '修改自己的密码';

我用到的命令如下:

mysql -u root -p
Enter password: root
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

参考博客地址: https://www.cnblogs.com/tourey-fatty/p/12522784.html

上一篇:基于Linux客户端的MYSQL数据库使用


下一篇:修改删除表