nodejs连接mysql报错:throw err; // Rethrow non-MySQL errors
报错环境:
mysql8.0以上,windows10,64位
mysql修改root密码,可以解决该问题
在mysql8.0.4之前,mysql密码的认证插件是:“mysql_native_password”,而现在使用的是:“caching_sha2_password”
修改密码,在mysql8.0.4之前:
第一种
SET PASSWORD=PASSWORD('[修改的密码]');
第二种
update user set password=password('123456') where user='root';
修改密码,在mysql8.0.4之后:
alter user 'root'@'localhost' identified with mysql_native_password by '123456';
该问题的解决方案如下:
1. win+R 输入cmd 使用管理员身份运行
2. mysql -u root -p 输入密码进入到mysql
3.执行sql语句,将密码改成123456(自己可以记住的密码即可)
alter user 'root'@'localhost' identified with mysql_native_password by '123456';
4.再执行sql语句
flush privileges;
5.然后退出数据库*
6.重新启动node服务
7.最重要的一点是不要忘记在你的server修改数据库密码(如果更改了话)