You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Keycloak 16.1.1独立快速启动版用户数据迁移至Windows服务部署求助

Keycloak 16.1.1 独立版转Windows服务部署数据迁移方案

1. 定位嵌入式H2数据文件

Keycloak 16.1.1独立快速启动版默认使用嵌入式H2数据库,所有用户、角色、领域配置都存储在以下路径:

<你的独立版Keycloak安装目录>/standalone/data/h2/

核心文件是keycloak.mv.db(主数据文件)和keycloak.trace.db(日志文件),这两个就是你要迁移的全部数据载体。

2. 导出完整数据(含用户密码哈希)

如果需要用JSON格式导出(更灵活),执行以下步骤:

  • 停止正在运行的独立版Keycloak
  • 进入Keycloak的bin目录,执行导出命令:
    standalone.bat -Dkeycloak.migration.action=export -Dkeycloak.migration.provider=dir -Dkeycloak.migration.dir=../export-data -Dkeycloak.migration.usersExportStrategy=REALM_FILE
    
    执行完成后,Keycloak根目录下会生成export-data文件夹,里面包含各领域的JSON配置文件,用户密码哈希会被完整包含。

3. 迁移到Windows服务部署

方式一:JSON文件导入

  • 确保Windows服务部署的Keycloak版本为16.1.1(版本不一致会导致兼容性问题)
  • 先启动一次Windows服务版Keycloak,生成默认目录结构后停止服务
  • 将export-data文件夹复制到Windows服务版Keycloak的根目录
  • 进入Windows服务版的bin目录,执行导入命令:
    standalone.bat -Dkeycloak.migration.action=import -Dkeycloak.migration.provider=dir -Dkeycloak.migration.dir=../export-data -Dkeycloak.migration.strategy=OVERWRITE_EXISTING
    
  • 启动Windows服务版Keycloak,登录管理控制台验证数据是否完整

方式二:直接复用H2数据库文件

如果不想用导出导入,可直接替换数据库文件:

  • 停止两个Keycloak实例
  • 将独立版的keycloak.mv.db和keycloak.trace.db复制到Windows服务版的standalone/data/h2/目录,替换原有文件
  • 启动Windows服务版Keycloak,数据会直接复用

关键注意事项

  • 操作前务必备份所有数据文件,避免数据丢失
  • 必须保证两个Keycloak版本完全一致(均为16.1.1),跨版本迁移可能出现数据结构不兼容
  • 若使用第三方工具(如NSSM)包装Windows服务,需确保服务启动的工作目录为Keycloak根目录,否则会出现数据库文件找不到的问题

内容的提问来源于stack exchange,提问作者Alfonso Tienda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 14:18:18