Skip to content

START-DB-CONNECTION-FAILED

错误编号:START-DB-CONNECTION-FAILED

Java Manifest 尚未导出。当前启动失败看控制台 JDBC 异常,不要把真实 URL 写进文档或 Issue。

适用版本 / 权益

免费。Admin / Report / Flow / App 共用同一类 JDBC 连接问题。

典型报错关键词

  • Communications link failure
  • Connection refused
  • JDBC 连 3306 超时

用户会看到什么

Admin 起不来,堆栈里是连 MySQL 失败,还不是 Access deniedUnknown database

发生原因

主机、端口、网络或 MySQL 进程不可达。认证失败走 START-DB-AUTH-FAILED;库不存在走 START-DB-NOT-FOUND

配置位置

官方示例在 application-dev.example.yml

类型位置期望
YAMLspring.datasource.dynamic.datasource.master.urlJDBC URLjdbc:mysql://<host>:3306/<db>?...
YAMLspring.datasource.dynamic.primary默认数据源示例为 master
YAMLconfig.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'

解决步骤

  1. 确认 MySQL 在跑:mysql --host=<host> --port=3306 -u <user> -p 或 Docker 对应容器。
  2. 核对 URL 里的主机和端口,不是 Redis 6379,也不是 Admin 8580
  3. 本机防火墙 / 安全组是否放行 3306。
  4. 能连上后再看是不是认证或库名问题,换对应错误页。

验证方法

用同一套 host/port 手工连上 MySQL。再启动 Admin,启动日志不再出现 Communications link failure

仍未解决时提供的安全信息

  • 本错误编号
  • 主机名是否本机 / 远程(不要贴完整 JDBC URL)
  • MySQL 是否能在本机客户端连通

相关文档