keycloak-11.0.2修改数据源为mysql

下载mysql驱动

https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.13/mysql-connector-java-8.0.13.jar

创建数据源module

在keycloak根目录下创建目录keycloak/modules/system/layers/base/com/创建mysql/main/两层目录进入后
将驱动文件copy到此目录下
新建文件:module.xml,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<module name="com.mysql" xmlns="urn:jboss:module:1.5">
    <resources>
        <resource-root path="mysql-connector-java-8.0.13.jar"/>
    </resources>
    <dependencies>
        <module name="javax.api"/>
        <module name="javax.transaction.api"/>
        <module name="javax.servlet.api" optional="true"/>
    </dependencies>
</module>

编辑配置数据源文件

编辑standalone.xml,位置在keycloak-11…0.2\standalone\configuration
若为集群模式编辑standalone-ha.xml
寻找drivers标签,默认有一个h2数据库的配置,我们要在同级增加一个mysql的配置,内容如下:

<driver name="mysql" module="com.mysql">
    <xa-datasource-class>com.mysql.cj.jdbc.MysqlXADataSource</xa-datasource-class>
</driver>

注释掉下面h2数据库KeycloakDS这段配置,注意,不要注释掉上方的ExampleDS配置项,程序启动会报错。

<datasource jndi-name="java:jboss/datasources/KeycloakDS" pool-name="KeycloakDS" enabled="true" use-java-context="true" statistics-enabled="${wildfly.datasources.statistics-enabled:${wildfly.statistics-enabled:false}}">
    <connection-url>jdbc:h2:${jboss.server.data.dir}/keycloak;AUTO_SERVER=TRUE</connection-url>
    <driver>h2</driver>
    <security>
        <user-name>sa</user-name>
        <password>sa</password>
    </security>
</datasource>

新增mysql配置如下

<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;serverTimezone=GMT%2B8&amp;characterEncoding=UTF-8</connection-url> <!-- 增加时区东八区,增加强制UTF8编码,让其能够写入特殊字符,关闭ssl警告 -->
    <driver>mysql</driver>
    <security>
        <user-name>用户名</user-name>
        <password>密码</password>
    </security>
</datasource>

手工建立keycloak库,一定要手工创建数据库,否则启动报错

CREATE DATABASE `keycloak` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'

重新启动keycloak

standalone.bat

登录后初始化的过程有点慢,不要着急
http://localhost:8080/auth/

入门教程请参考官方文档

https://www.keycloak.org/docs/latest/getting_started/index.html

猜你喜欢

转载自blog.csdn.net/zjcjava/article/details/109286739
今日推荐