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 时提到的错误,您选择了“强身份验证”,但您设置了弱密码。您需要重置强密码或需要选择旧的身份验证方法

具体的话可以看看:

上一篇:14 windows下安装pygame模块


下一篇:Xshell 无法连接腾讯云服务器 No supported authentication methods available