ER_NOT_SUPPORTED_AUTH_MODE node连接数据库报错
报错内容
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
数据库连接配置无问题
"db_config" : {
"protocol" : "mysql",
"host" : "127.0.0.1",
"database" : "mysql",
"user" : "root",
"password" : "123",
"port" : 3306
}
解决办法
- 进入cmd命令提示符页面登录mysql
- mysql -u root -p
- 输入密码
执行这两句:
alter USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRENEVER;
alter USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '修改自己的密码';
这个时候再执行应该就可以了
问题原因
通过bd,终于找出了报错原因:
- 有说是mysql8.0 加密,node不支持的
- 有说这是在您安装 sql server 时提到的错误,您选择了“强身份验证”,但您设置了弱密码。您需要重置强密码或需要选择旧的身份验证方法
具体的话可以看看: