node 版本 v12.12.0
mysql 版本 8.0
我再家尝试使用node连接mysql数据库的时候,发现连接不上。
报错信息显示为:
{code: 'ER_NOT_SUPPORTED_AUTH_MODE',
errno: 1251,
sqlMessage: 'Client does not support authentication protocol requested by server; consider upgrading MySQL client',
sqlState: '08004',
fatal: true
}
因为mysql8.0默认的密码认证方案是’caching_sha2_password’,而目前node默认的密码认证方案是’mysql_native_password’,所以即使密码是对的,但是却无法认证成功。
可以通过修改MySQL的配置进行修复:
选择下面这种方式即可.