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

Spring Boot部署AWS EC2后卡在HikariPool-1 - Starting问题求助

Spring Boot部署AWS EC2 Ubuntu实例卡在HikariPool启动阶段的排查方案

本地运行正常,EC2实例上卡在HikariPool-1 - Starting...,核心问题基本出在数据库连接链路的配置、权限或服务状态上,和启动速度无关。按以下步骤逐一排查:

1. 确认EC2上的MySQL服务是否正常运行

执行命令检查服务状态:

sudo systemctl status mysql
  • 如果服务未启动,启动并设置开机自启:
    sudo systemctl start mysql
    sudo systemctl enable mysql
    
  • 如果未安装MySQL,先完成安装:
    sudo apt update && sudo apt install mysql-server
    

2. 验证MySQL本地连接可用性

直接用命令行尝试登录MySQL,确认账号、密码和数据库存在:

mysql -u root -p

输入配置文件中的密码后,执行命令切换到目标数据库:

use comics;
  • 如果登录失败,优先排查root用户的密码正确性,或重置密码:
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
    FLUSH PRIVILEGES;
    

3. 检查MySQL绑定地址配置

编辑MySQL配置文件:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

找到bind-address项,确保值为127.0.0.1(对应你配置的localhost连接),修改后重启MySQL:

sudo systemctl restart mysql

4. 排查本地防火墙限制

Ubuntu默认的ufw防火墙可能会限制本地MySQL连接,检查防火墙状态:

sudo ufw status

如果防火墙开启,添加本地MySQL连接允许规则:

sudo ufw allow in from 127.0.0.1 to any port 3306

5. 开启Hikari连接池详细日志定位错误

在application.properties中添加日志配置,获取更具体的连接失败信息:

logging.level.com.zaxxer.hikari=DEBUG
logging.level.org.hibernate.engine.jdbc.env.internal=DEBUG

重启应用后,查看日志输出,通常会明确显示连接超时、认证失败等具体原因。

6. 检查应用运行用户的权限

如果用非root用户运行Spring Boot应用,需确保该用户有权限访问MySQL的socket文件(默认路径/var/run/mysqld/mysqld.sock):
将应用运行用户加入mysql用户组:

sudo usermod -aG mysql 你的用户名

退出当前会话重新登录后,再启动应用。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 00:38:23