簡體   English   中英

Keycloak 與 Mysql 8.0 集成

[英]Keycloak integration with Mysql 8.0

我正在嘗試將 keycloak 12 與 mysql 8.0 連接起來。 首先,我在 windows 機器上進行了開發更改,一切都很完美。 現在,我正在嘗試在 ubuntu 20.04 上實現它。 這些變化是:

            <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 個數據庫表。 服務重新啟動后,我有以下錯誤。

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)

非常感謝

我遇到了同樣的問題,我通過將 MySQL 連接器驅動程序版本降級到 8.0.22 解決了這個問題。

基於這篇文章: https://bugs.mysql.com/bug.php?id=1024305.3版本的預期行為

是的,看起來下一個即將發布的 keycloak 版本將修復該問題,請參閱keycloak pr #7942

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM