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

Spring Boot连接EC2上MySQL遇Access denied错误,创建双用户仍未解决

问题根源与解决方案

你犯了一个关键错误:Spring Boot配置里的数据库URL写的是localhost,这会让应用尝试连接本地机器的MySQL,而不是你EC2上的远程实例,这才是权限报错的核心原因,和你创建developer@localhost用户无关。

解决步骤:

  1. 修正数据库连接URL
    修改application.properties中的spring.datasource.url,把localhost替换成你的EC2实例的公网IP地址(或者弹性IP、域名):

    spring.datasource.url=jdbc:mysql://你的EC2公网IP:3306/exam?serverTimezone=UTC
    spring.datasource.username=developer
    spring.datasource.password=password
    
  2. 确认EC2安全组规则
    进入AWS控制台,给EC2实例所在的安全组添加入站规则:

    • 类型:MySQL/Aurora(3306)
    • 来源:设置为你本地机器的公网IP(更安全)或者0.0.0.0/0(仅测试用,不推荐生产环境)
  3. 验证MySQL远程连接配置
    登录EC2的MySQL,检查配置文件(通常是/etc/my.cnf或/etc/mysql/mysql.conf.d/mysqld.cnf):

    • 找到bind-address项,设置为0.0.0.0(允许所有IP访问)或者直接注释掉该行
    • 重启MySQL服务:sudo systemctl restart mysqld(部分系统可能是mysql)
  4. 无需额外创建localhost用户
    你之前创建的developer@'%'已经允许从任何远程IP连接,完全满足Spring Boot应用的远程连接需求,不需要再创建developer@localhost用户。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 13:45:26