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

Keycloak默认配置启动失败求助(Windows 11环境)

Keycloak 启动失败(JDBC连接超时)解决方法

问题定位

启动日志出现以下错误,说明Keycloak无法获取数据库连接完成初始化:

2024-05-29 13:22:45,533 WARN [org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator] (JPA Startup Thread) HHH000342: Could not obtain connection to query metadata: java.sql.SQLException: Acquisition timeout while waiting for new connection....Caused by: java.util.concurrent.TimeoutException

dev模式下Keycloak默认使用H2嵌入式数据库,该问题多由权限、数据库文件损坏或连接池配置导致。

解决步骤

  • 检查H2数据库目录权限
    Keycloak默认将H2数据库文件存放在C:\keycloak\data\h2,确保当前用户对该目录拥有读写权限:右键目录→属性→安全→添加当前用户并赋予完全控制权限。

  • 调整连接池超时配置
    在C:\keycloak\conf目录下新建或编辑application.properties文件,添加以下配置:

    quarkus.datasource.jdbc.url=jdbc:h2:file:./data/h2/keycloak;DB_CLOSE_ON_EXIT=FALSE;AUTO_SERVER=TRUE
    quarkus.datasource.jdbc.max-acquire-timeout=30s
    quarkus.datasource.jdbc.min-size=2
    

    延长连接获取超时时间,同时设置最小连接数,避免启动时连接池初始化过慢。

  • 清理损坏的H2数据库文件
    删除C:\keycloak\data\h2下的所有文件,重新执行启动命令,Keycloak会自动重建干净的数据库实例。

  • 以管理员身份执行启动命令
    右键DOS窗口图标→选择「以管理员身份运行」,再执行启动命令:

    C:\keycloak\bin\kc.bat start-dev --http-port 8180 --log=file --log-file=C:\keycloak\logs\root-log.log
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 10:02:16