首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Keycloak与Mysql 8.0的集成

Keycloak与Mysql 8.0的集成
EN

Stack Overflow用户
提问于 2021-02-09 05:31:23
回答 2查看 723关注 0票数 1

我正在尝试将keycloak 12与mysql 8.0连接起来。首先,我在windows机器上做了dev的修改,一切都很完美。现在,我正在尝试在ubuntu 20.04上实现它。这些更改包括:

代码语言:javascript
复制
            <datasource jndi-name="java:jboss/datasources/KeycloakDS" pool-name="KeycloakDS" enabled="true" use-java-context="true">
                <connection-url>jdbc:mysql://localhost:3306/keycloak?useSSL=false&amp;characterEncoding=UTF-8&amp;useJDBCCompliantTimezoneShift=true&amp;useLegacyDatetimeCode=false&amp;serverTimezone=UTC</connection-url>
                <driver>mysql</driver>
                <pool>
                    <max-pool-size>20</max-pool-size>
                </pool>
                <security>
                    <user-name>root</user-name>
                </security>
                <validation>
                    <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/>
                    <validate-on-match>true</validate-on-match>
                    <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/>
                </validation>
            </datasource>
            <drivers>
                <driver name="mysql" module="com.mysql">
                    <xa-datasource-class>com.mysql.cj.jdbc.MysqlXADataSource</xa-datasource-class>
                </driver>
                <driver name="h2" module="com.h2database.h2">
                    <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
                </driver>
            </drivers>

当我第一次启动这个服务时,它是完美的,并且keycloak的liquibase创建了全部94个数据库表。在服务重新启动后,我有以下错误。

代码语言:javascript
复制
2021-02-08 21:17:37,092 FATAL [org.keycloak.services] (ServerService Thread Pool -- 68) Error during startup: java.lang.RuntimeException: Exception invoking method [listUnrunChangeSets] on object [liquibase.Liquibase@226434d1], using arguments [null,(),false]
    at org.keycloak.keycloak-common@12.0.2//org.keycloak.common.util.reflections.Reflections.invokeMethod(Reflections.java:385)
    at org.keycloak.keycloak-model-jpa@12.0.2//org.keycloak.connections.jpa.updater.liquibase.LiquibaseJpaUpdaterProvider.getLiquibaseUnrunChangeSets(LiquibaseJpaUpdaterProvider.java:285)
    at org.keycloak.keycloak-model-jpa@12.0.2//org.keycloak.connections.jpa.updater.liquibase.LiquibaseJpaUpdaterProvider.validateChangeSet(LiquibaseJpaUpdaterProvider.java:253)

非常感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-02-24 21:41:14

我也遇到过同样的问题,我通过将MySQL连接器驱动程序版本降级到8.0.22来解决这个问题。

基于这篇文章:https://bugs.mysql.com/bug.php?id=102435,它是8.0.23版本的预期行为

票数 3
EN

Stack Overflow用户

发布于 2021-04-30 03:59:42

是的,看起来下一个快要发布的keycloak版本将会修复这个问题,请参考keycloak pr #7942

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66109671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档