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

Spring Boot Java连接MySQL报错求助:Access denied权限问题

解决Spring Boot连接MySQL时的Access Denied错误

核心错误信息:

Caused by: java.sql.SQLException: Access denied for user 'root'@'localhost'@'localhost' (using password: YES)

这个错误的关键是出现了root@localhost@localhost,说明数据库连接配置存在格式错误,以下是具体排查修复步骤:

1. 修正数据库连接配置文件

检查application.properties或application.yml中的配置项:

  • 错误示例(用户名带@localhost):
    spring.datasource.username=root@localhost
    
    改成正确的用户名配置:
    spring.datasource.username=root
    
  • 验证数据库URL格式:
    正确的URL模板:
    spring.datasource.url=jdbc:mysql://localhost:3306/你的数据库名?serverTimezone=UTC&useSSL=false
    
    确保URL中没有多余的@localhost,端口号(默认3306)、数据库名正确。
  • 密码验证:
    确认spring.datasource.password与登录MySQL时的密码完全一致,若密码包含特殊字符(比如#、!),在yml配置文件中需要用引号包裹:
    spring:
      datasource:
        password: "your#password"
    

2. 验证MySQL用户权限

登录本地MySQL控制台执行以下命令:

# 查看root用户的允许连接主机
SELECT user, host FROM mysql.user WHERE user = 'root';
# 刷新权限
FLUSH PRIVILEGES;

如果root用户的host字段是localhost,则只能本地连接,符合当前场景;如果是其他值,可根据需要调整(比如改成%允许远程连接,但本地连接无需修改)。

3. 确认MySQL服务运行状态

  • Windows:打开「服务」面板,确认MySQL服务处于运行状态
  • Linux:执行命令 systemctl status mysql 检查服务状态

4. 测试基础连接

用MySQL Workbench、Navicat等工具,以root用户+对应密码连接本地MySQL,确认用户密码本身有效,排除MySQL端的问题。

内容的提问来源于stack exchange,提问作者Piyumi Nadeesha

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 15:26:02