【已解决】node.js连接mysql出现错误: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
在使用node.js连接数据库时出现了
node.js连接mysql出现错误: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
的问题,
多方查找应该是登录数据库的客户端跟mysql8.0不兼容了,mysql8.0密码认证采用了新的密码格式
解决方法:
1.找到mysql的安装路径下的bin目录
2、登录mysql数据库。即继续在命令行工具输入:mysql -u root -p
。然后输入自己数据库的密码,进入数据库
2.1在这里需要注意的是可能会出现以下情况
这是是因为在系统变量里没有添加mysql的server安装目录的环境变量,系统变量里添加mysq的C:\Program Files\MySQL\MySQL Server 8.0\bin(这个是我的mysql安装地址,每个人的地址不一样,请看好再进行添加)目录,如下
2.2解决之后就可以正常使用了:
3.接着输入:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
上面’123456’是我的数据库密码,将其改为自己的即可
4.最后在输入下面这个命令,然后回车
FLUSH PRIVILEGES;
第三第四步的截图:
然后就可以连上数据库了