nodejs连接mysql异常

在用nodejs开发后台,进行连接mysql时报错:ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL clien
这个错误的原因是: 最新版本的mysql账号密码用的是最新的加密方式: 目前node还不支持这个连接方式
在sqlyog中,查询mysql数据库:select user,host, plugin FROM user;
查询结果:


image.png

解决方法:
修改mysql数据库中的root账号的密码加密方法就行了;

在sqlyog的mysl中依次执行:
//将root 的host改为%
UPDATE USER SET HOST='%' WHERE USER='root';
//修改root账户的加密方式,其中末尾BY ’root‘ 中的root改为自己的密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
//刷新一下权限
FLUSH PRIVILEGES;
//最后再查询一次,确认是否更改
select user,host, plugin FROM user;

更改后:


image.png

你可能感兴趣的:(nodejs连接mysql异常)