You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot连接MySQL报CLIENT_PLUGIN_AUTH is required错误如何解决?

报错原因及解决步骤

该报错核心为MySQL驱动版本与本地WampServer自带的MySQL服务版本不兼容,或配置存在语法错误,按以下步骤排查即可解决:

1. 确认本地MySQL版本

在SQLyog中执行如下命令查看版本:

SELECT VERSION();

版本适配调整:

  • 若MySQL版本 ≤5.5:Spring Boot默认拉取的8.x系列驱动不兼容低版本MySQL,需修改gradle.build依赖指定5.1.x系列驱动:
    将原有runtimeOnly 'mysql:mysql-connector-java'替换为:
    runtimeOnly 'mysql:mysql-connector-java:5.1.49'
    
    你当前配置的com.mysql.jdbc.Driver驱动类无需修改。
  • 若MySQL版本 ≥5.6:可保留8.x系列驱动,需修改驱动类配置为8.x专属路径:
    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    

2. 修正JDBC连接URL配置

补充必要参数避免连接校验异常:

  • 5.x版本URL修改为:
    spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false
    
  • 8.x版本URL需额外补充时区参数:
    spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
    

3. 修正配置文件语法错误

你当前application.properties中spring.jpa.show-sql: true使用了YAML格式的冒号分隔符,Properties格式需使用等号,修改为:

spring.jpa.show-sql=true

4. 调整用户认证插件(以上步骤无效时执行)

若修改后仍报错,说明当前数据库用户的认证插件不被驱动支持,在SQLyog中执行如下SQL修改即可:

ALTER USER 'shafin'@'localhost' IDENTIFIED WITH mysql_native_password BY 'admin';
FLUSH PRIVILEGES;

完成以上操作后重启Spring Boot项目即可正常连接MySQL。


内容的提问来源于stack exchange,提问作者Mahmudul Hasan Shafin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 22:36:01