nodejs连接mysql 8.4报错:Client does not support authentication protocol requested by server
Client does not support authentication protocol requested by server; consider upgrading MySQL client
如图:
是因为mysql 8.4默认启用的加密方式是 caching_sha2_password,而nodejs是mysql_native_password,可以用
SELECT user, host, plugin from mysql.user WHERE plugin='caching_sha2_password';
命令查询,当前哪些用户是caching_sha2_password加密方式:
如果用mysql_native_password对某个mysql用户加密认证,先修改my.ini中[mysqld]的配置,启用mysql_native_password:
[mysqld]
mysql_native_password=ON
然后,在mysql里面执行命令:
ALTER USER 'mysql的用户'@'%' IDENTIFIED WITH mysql_native_password BY '我的简单密码';
此时再查询:
SELECT user, host, plugin from mysql.user WHERE plugin='mysql_native_password';
mysql里面的退出命令:
exit
mysql各版本下载地址:
MySQL下载安装配置和启动(Windows环境):