解决MySQL8.0报错Clientdoesnotsupportauthenticationprotocolrequestedbyserver...问题,
目录
- 报错内容
- 报错原因
- 解决方法
报错内容

使用node.js连接数据库MySQL 8时候,报错ER_NOT_SUPPORTED_AUTH_MODE,并且提示Client does not support authentication protocol requested by server; consider upgrading MySQL client:客户端不支持服务器请求的身份验证协议;考虑升级MySQL客户端;
报错原因
最新的MySQL模块并未完全支持MySQL 8.0的caching_sha2_password加密方式,而MySQL 8.0中默认仍然是caching_sha2_password加密方式,因此用户认证不通过了。

如下查询:
mysql> alter user 'root'@'localhost' identified by '123456'; Query OK, 0 rows affected (0.02 sec)

这里的“123456”是你自己的密码
解决方法
直接数据库工具里面修改加密方式mysql_native_password:

或者通过指令方式修改:
mysql> alter user 'root'@'localhost' identified with mysql_native_password by '123456'; Query OK, 0 rows affected (0.01 sec)

数据库连接和关闭都成功,连接问题解决

到此这篇关于解决MySQL8.0报错Client does not support authentication protocol requested by server...问题的文章就介绍到这了,更多相关MySQL8.0报错内容请搜索PHP之友以前的文章或继续浏览下面的相关文章希望大家以后多多支持PHP之友!
您可能感兴趣的文章:- 解决java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver报错问题
- pymysql.err.DataError:1366的报错解决
- MySQL报错1067 :Invalid default value for ‘字段名’
- 如何解决Mysql报错Deadlock found when trying to get lock;try restarting transaction问题
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。