报错信息如下:
nodejs.ER_NOT_SUPPORTED_AUTH_MODEError: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client.
客户端不支持服务器请求的认证协议;考虑升级MySQL客户端
报错原因:
因为mysql版本较高,最新的加密方式node还不支持,所以我们需要修改mysql的密码保存方式
解决办法:
- 打开cmd,切换到mysql目录下的bin文件夹下,如果不知道bin目录在哪,可以找到正在运行的MySQL服务右击点击属性查看可执行文件路径。
- 输入
mysql -uroot -p
连接MySQL数据库。 - 输入root用户的密码。
- 更改加密方式(原样拷贝到命令窗中)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
- 更改新密码为“123456”
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY ‘123456’;
- 刷新
FLUSH PRIVILEGES;
最后重新连接即可。