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

IntelliJ/Spring连接MySQL数据库遭1045权限拒绝问题求助

解决 JetBrains 工具连接 MySQL 出现 1045 权限拒绝的问题

可能的原因及排查步骤

1. 检查 MySQL 用户权限匹配规则

MySQL 用户权限是按 用户名@主机 精确匹配的,即便你设置了 ERP_admin@%,如果存在更精确的匹配项(比如ERP_admin@DESKTOP-FK4UCCU.***),会优先触发这条规则,而该用户可能无权限或密码不匹配。

  • 登录 MySQL 执行命令查看现有用户规则:
    SELECT user, host FROM mysql.user WHERE user = 'ERP_admin';
    
  • 若存在ERP_admin@DESKTOP-FK4UCCU.***记录,可删除该条目让%规则生效:
    DROP USER 'ERP_admin'@'DESKTOP-FK4UCCU.***';
    FLUSH PRIVILEGES;
    

2. 核对 JetBrains 连接配置细节

  • 确认「数据源与驱动程序」中的目标数据库名称准确无误,且ERP_admin拥有该库的访问权限。
  • 关闭「使用SSL连接」选项,部分场景下SSL配置不兼容会触发权限验证失败。
  • 在连接配置的「高级」选项中添加参数:useSSL=false、allowPublicKeyRetrieval=true。

3. 验证密码有效性(规避特殊字符转义)

JetBrains 工具对密码中特殊字符(如@、#、$)的处理逻辑可能和VSCode不同,导致实际传递的密码错误。

  • 先重置ERP_admin为无特殊字符的简单密码测试:
    ALTER USER 'ERP_admin'@'%' IDENTIFIED BY 'new_simple_pwd';
    FLUSH PRIVILEGES;
    
  • 若简单密码可成功连接,再尝试换回原密码,或在密码输入框用引号包裹原密码(如"your_pwd_with_special_chars")。

4. 检查 MySQL 绑定地址配置

确保 MySQL 配置文件(Windows为my.ini,Linux为my.cnf)中bind-address设置为0.0.0.0,允许所有主机连接,而非仅本地回环地址127.0.0.1。修改后重启MySQL服务。

5. 排查防火墙与网络代理

JetBrains 工具可能使用系统代理,导致连接请求的来源IP和VSCode不同,被MySQL权限规则拦截。

  • 关闭系统代理或VPN后重试连接。
  • 确认本地防火墙允许IntelliJ、DataGrip访问MySQL默认端口3306。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 05:25:02