Keycloak使用mysql数据库


keycloak standalone启动后,默认使用的是内部自带的h2数据库,我们暂使用时通常需要修改为本地mysql存储,下面简单介绍如何让keycloak使用外部mysql数据库。

下载Mysql驱动

下载地址:mysql-connector-java-8.0.13.jar

添加module.xml配置文件

  1. 在keycloak根目录下创建目录keycloak/modules/system/layers/base/com/mysql/main/
  2. 将驱动文件copy到此目录下
  3. 新建文件: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配置文件

找到原文的h2数据库配置

<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>
<drivers>
    <driver name="h2" module="com.h2database.h2">
        <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
    </driver>
</drivers>

注释掉,修改为

<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>root</user-name>
		<password>root</password>
	</security>
</datasource>
<drivers>
    <driver name="h2" module="com.h2database.h2">
    	<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
    </driver>
	<driver name="mysql" module="com.mysql">
		<xa-datasource-class>com.mysql.cj.jdbc.MysqlXADataSource</xa-datasource-class>
	</driver>
</drivers>

注意,不要注释掉上方的ExampleDS配置项,程序启动会报错。

启动Keycloak

在keycloak/bin目录下找到standalone.bat文件,双击运行
进入mysql查看,新增了93个表,修改成功
在这里插入图片描述

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值