连接mysql报错:
nodejs.ER_NOT_SUPPORTED_AUTH_MODEError: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
原因
ER_NOT_SUPPORTED_AUTH_MODE 错误是因为 Node.js 应用的 MySQL 客户端不支持 MySQL 服务器要求的认证协议。通常在连接到 MySQL 8.0 或更高版本的服务器时遇到,因为 MySQL 8 默认使用 caching_sha2_password 作为其认证插件,而某些较旧的 MySQL 客户端库可能不支持这个认证方法。
解决
在 MySQL 服务器上,将用户的认证协议更改为 mysql_native_password:
登陆mysql -u root -p
输入
ALTER USER 'root'@'用户名' IDENTIFIED WITH 'mysql_native_password' BY '你的密码';
FLUSH PRIVILEGES;