java.sql.SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required
时间: 2023-10-14 11:18:58 浏览: 79
这个异常通常是由于 MySQL 8.0 版本的加密方式所导致的。在 MySQL 8.0 版本中,默认的加密方式从 mysql_native_password 变为 caching_sha2_password,而某些客户端程序可能不支持这种加密方式。
有两种方法可以解决这个问题:
1. 将 MySQL 用户的加密方式改为 mysql_native_password
可以使用以下命令更改 MySQL 用户的加密方式:
```
ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
```
2. 修改连接字符串,指定使用 mysql_native_password 加密方式
可以在连接字符串中添加以下参数:
```
jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8&useAffectedRows=true&allowPublicKeyRetrieval=true&useSSL=false&useLegacyDatetimeCode=false&serverTimezone=UTC&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&useCursorFetch=true&defaultAuthenticationPlugin=mysql_native_password
```
其中,defaultAuthenticationPlugin 参数指定了使用 mysql_native_password 加密方式。
希望这些方法能够帮助你解决问题!