# 连接数据库认证出错
# 报错提示
Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
# 原因
MySQL 客户端与服务器之间在认证协议方面出现了不兼容的情况
# 解决方案
修改认证方式(常用方法)
如果发现认证插件是较新的、可能与客户端不兼容的类型(比如 caching_sha2_password ,有些较老版本的客户端可能不支持),可以将其修改为兼容性更好的 mysql_native_password 认证方式。执行以下 SQL 语句来修改认证方式(同样假设用户名为 your_username):
ALTER USER 'your_username'@'localhost' IDENTIFIED WITH mysql_native_password BY '[你的用户密码]';
FLUSH PRIVILEGES;
第一条语句将指定用户的认证方式修改为 mysql_native_password 并设置对应的密码(确保 [你的用户密码] 填写正确),第二条语句是刷新权限,使修改生效。之后再尝试运行你的 node app.js 看看能否正常连接数据库。