Java教程

ER_NOT_SUPPORTED_AUTH_MODE node连接数据库报错

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

具体的话可以看看:

  • https://github.com/nodejs/help/issues/1555
这篇关于ER_NOT_SUPPORTED_AUTH_MODE node连接数据库报错的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!