jsp连接mysql出现不支持认证协议的解决办法

Posted LuoSpider

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp连接mysql出现不支持认证协议的解决办法相关的知识,希望对你有一定的参考价值。

错误提示

com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: Client does not support authentication protocol requested by server; consider upgrading MySQL client

 

错误原因

Mysql8 之前的版本中加密规则是mysql_native_password,而在Mysql8之后,加密规则是caching_sha2_password

笔者在jsp中使用的Mysql的架包是mysql-connector-java-5.0.8-bin.jar,如果使用的MySql8以上就会报错

 

解决办法

更换加密算法

mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.17    |
+-----------+
1 row in set (0.01 sec)

mysql> ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY 123;
Query OK, 0 rows affected (0.02 sec)

mysql> FLUSH PRIVILEGES; 
Query OK, 0 rows affected (0.01 sec)

 

以上是关于jsp连接mysql出现不支持认证协议的解决办法的主要内容,如果未能解决你的问题,请参考以下文章

Node JS和mysql不连接(客户端不支持服务器请求的认证协议考虑升级mysql客户端)

电脑经常弹出“不支持的硬件”解决办法

电脑经常弹出“不支持的硬件”解决办法

Mysql授权允许远程访问解决Navicat for MySQL连接mysql提示客户端不支持服务器请求的身份验证协议;考虑升级MySQL客户端

1106

jsp和servlet操作mysql中文乱码问题的解决办法