Keycloak没有初始化MySQL数据库

Posted

技术标签:

【中文标题】Keycloak没有初始化MySQL数据库【英文标题】:Keycloak not initializing MySQL database 【发布时间】:2021-10-20 05:42:36 【问题描述】:

我有这个工作,但由于其他问题决定从头开始安装。 尽管使用cp 1:1 复制了我的配置和Java 驱动程序包,但它现在将不再创建SQL 模式。我也尝试了“手动”初始化选项,但是没有生成 SQL 文件。

我从头开始执行的步骤是:

    删除现有数据库 创建一个新数据库,授予相同的权限 移除 keycloak 目录 提取新的 keycloak tarball 复制和替换之前实例中的 keycloak 配置 从前一个实例复制 mysql JDBC 驱动程序包
2021-08-18 13:59:15,511 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 58) MSC000001: Failed to start service
org.wildfly.clustering.jgroups.channel.ee:
org.jboss.msc.service.StartException in service
org.wildfly.clustering.jgroups.channel.ee:
java.lang.IllegalStateException: java.lang.NullPointerException
        at org.wildfly.clustering.service@23.0.2.Final//org.wildfly.clustering.service.FunctionalService.start(FunctionalService.java:66)
        at org.wildfly.clustering.service@23.0.2.Final//org.wildfly.clustering.service.AsyncServiceConfigurator$AsyncService.lambda$start$0(AsyncServiceConfigurator.java:117)
        at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
        at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
        at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTa
        ... 7 more
    Caused by: java.lang.NullPointerException
        at org.jgroups@4.2.11.Final//org.jgroups.protocols.UDP.dumpSocketInfo(UDP.java:556)
        at org.jgroups@4.2.11.Final//org.jgroups.protocols.UDP.createSockets(UDP.java:422)
        at org.jgroups@4.2.11.Final//org.jgroups.protocols.UDP.start(UDP.java:292)
        at org.jgroups@4.2.11.Final//org.jgroups.stack.ProtocolStack.startStack(ProtocolStack.java:881)
        at org.jgroups@4.2.11.Final//org.jgroups.JChannel.startStack(JChannel.java:989)
        at org.jgroups@4.2.11.Final//org.jgroups.JChannel._preConnect(JChannel.java:853)
2021-08-18 13:59:21,682 INFO  [org.jboss.as.server] (Thread-1) WFLYSRV0272: Suspending server
2021-08-18 13:59:21,688 INFO  [org.jboss.as.ejb3] (Thread-1) WFLYEJB0493: Jakarta Enterprise Beans subsystem suspension complete
2021-08-18 13:59:21,692 INFO  [org.jboss.as.server] (Thread-1) WFLYSRV0220: Server shutdown has been requested via an OS signal
2021-08-18 13:59:21,721 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-4)
WFLYJCA0019: Stopped Driver service with driver-name = h2
2021-08-18 13:59:21,731 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread
1-8) WFLYJCA0010: Unbound data source
[java:jboss/datasources/KeycloakDS]
2021-08-18 13:59:21,775 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-7) WFLYUT0007: Undertow HTTPS listener https
stopped, was bound to 192.168.0.115:8443
2021-08-18 13:59:21,775 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-4) WFLYUT0007: Undertow AJP listener ajp
stopped, was bound to 192.168.0.115:8009
2021-08-18 13:59:21,776 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) WFLYSRV0028: Stopped deployment
keycloak-server.war (runtime-name: keycloak-server.war) in 76ms
2021-08-18 13:59:21,774 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-8) WFLYUT0007: Undertow HTTP listener default
stopped, was bound to 192.168.0.115:8080
2021-08-18 13:59:21,782 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-5) WFLYUT0004: Undertow 2.2.5.Final stopping
2021-08-18 13:59:21,797 INFO  [org.jboss.as] (MSC service thread 1-6) WFLYSRV0050: Keycloak 15.0.1 (WildFly Core 15.0.1.Final) stopped
in 96ms

我多次尝试重新创建它,但我无法弄清楚与第一次安装它有什么不同。我正在使用 Standalone HA 操作模式。

不胜感激。

我认为已经粘贴了相关位,但如果有任何帮助,这里是 server.log 作为文件:http://hugz.io/ryxgd9/server.log

【问题讨论】:

【参考方案1】:

我能够通过使用默认的standalone-ha.xml 启动实例来解决这个问题,只包括驱动程序和数据源部分,然后才复制到其他修改的部分。

【讨论】:

以上是关于Keycloak没有初始化MySQL数据库的主要内容,如果未能解决你的问题,请参考以下文章

Angular上的Keycloak - 加载时没有得到正确的状态

Keycloak - docker jboss / keycloak-mysql“表'keycloak.WEB_ORIGINS'不存在”

mysq解决sleep进程过多的办法

使用 docker [MySQL] 运行 keycloak 时出错

mysq基础

docker 容器中的 Keycloak + 主机上的 MySQL 提供 [org.keycloak.services] (ServerService 线程池 -- 62) 无法连接到数据库