START-DB-CONNECTION-FAILED
错误编号:START-DB-CONNECTION-FAILED
Java Manifest 尚未导出。当前启动失败看控制台 JDBC 异常,不要把真实 URL 写进文档或 Issue。
适用版本 / 权益
免费。Admin / Report / Flow / App 共用同一类 JDBC 连接问题。
典型报错关键词
Communications link failureConnection refused- JDBC 连
3306超时
用户会看到什么
Admin 起不来,堆栈里是连 MySQL 失败,还不是 Access denied 或 Unknown database。
发生原因
主机、端口、网络或 MySQL 进程不可达。认证失败走 START-DB-AUTH-FAILED;库不存在走 START-DB-NOT-FOUND。
配置位置
官方示例在 application-dev.example.yml:
| 类型 | 位置 | 键 | 期望 |
|---|---|---|---|
| YAML | spring.datasource.dynamic.datasource.master.url | JDBC URL | jdbc:mysql://<host>:3306/<db>?... |
| YAML | spring.datasource.dynamic.primary | 默认数据源 | 示例为 master |
| YAML | config.datasource.url | 配置中心库 | 与 master URL 同一套占位 |
不要把 application-dev.yml 里的真实主机和密码抄进文档。
正确配置
示例形态(占位符):
yaml
spring:
datasource:
dynamic:
primary: master
datasource:
master:
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/forge_admin?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
username: root
password: 'your_password'解决步骤
- 确认 MySQL 在跑:
mysql --host=<host> --port=3306 -u <user> -p或 Docker 对应容器。 - 核对 URL 里的主机和端口,不是 Redis
6379,也不是 Admin8580。 - 本机防火墙 / 安全组是否放行 3306。
- 能连上后再看是不是认证或库名问题,换对应错误页。
验证方法
用同一套 host/port 手工连上 MySQL。再启动 Admin,启动日志不再出现 Communications link failure。
仍未解决时提供的安全信息
- 本错误编号
- 主机名是否本机 / 远程(不要贴完整 JDBC URL)
- MySQL 是否能在本机客户端连通
