前言
前keycloak使用的h2数据库,后续项目中可能要上用户权限加字段等,所以还是连mysql更方便,所以要思考怎么让keycloak与mysql关联。
环境
java1.8
keycloak9.0.2,官网下载慢,可提前下载。 下载地址
mysql8.0.19 ,这台是搭在虚拟机的docker下。安装可参考资料:https://blog.csdn.net/liuming690452074/article/details/105032563
因为本地win10下安装过mysql8.0.16,与keycloak9整合没成功过,所以把mysql8换到centos上试试。
当然把keycloak安装到centos7是最好的,但是拉取镜像很慢,所以先用windows测试了。
安装
创建文件夹 com/mysql/main
把驱动文件 mysql-connector-java-8.0.19.jar 复制到此目录
新建文件:module.xml,内容如下:
E:\softdev\keycloak-9.0.2\modules\system\layers\base\com\mysql\main
记得修改standalone.xml 文件
路径在: E:\softdev\keycloak-9.0.2\standalone\configuration
加上mysql的驱动:
com.mysql.cj.jdbc.MysqlXADataSource
注解原dotasource,加上mysql
jdbc:mysql://192.168.192.112:3308/keycloak?useSSL=false&serverTimezone=GMT%2B8&characterEncoding=UTF-8
mysql
root
123
创建mysql数据库
utf8mb4库不支持问题
create database keycloak default character set = "UTF8" default collate = "utf8_general_ci";
-- 或者如下命令检查数据库是否正确
show create database keycloak;
'keycloak', 'CREATE DATABASE `keycloak` /*!40100 DEFAULT CHARACTER SET utf8 */'
检查mysql的配置文件my.ini是否设置超时时间
复制代码
[mysqld]
wait_timeout=10000
interactive_timeout=10000
如果不配置,安装keycloak会报错参考[getting the error when I am trying to connect my mysql server with keycloak at my local in standalone mode.](https://developer.jboss.org/message/962145)
这次安装没出错。,可能win10环境会出问题吧。
配置完毕后记得重启mysql
安装keycloak
进入keycloak解压目录中的bin文件夹,以管理员权限运行standalone.bat
此时即是以单机模式启动keycloak
访问
http://localhost:8080/
最后有93张表
设置中文