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

咨询:Keycloak Docker容器创建的MySQL数据库表位置及查看方法

问题诊断与解决

核心问题:Keycloak未正确连接MySQL,回退到内置H2数据库

你当前的启动命令存在两个关键错误,导致Keycloak并未真正连接到你的MySQL实例,而是自动使用了内置的H2数据库(这就是为什么能保存用户,但MySQL里找不到对应表和数据的原因):

1. DB_ADDR参数格式错误

Keycloak的DB_ADDR仅需填写MySQL的主机地址/容器名,不需要完整的JDBC URL。你错误地把JDBC URL填入该参数,直接导致数据库连接失败。

2. 网络访问问题

如果你的MySQL运行在:

  • 宿主机:容器内的localhost指向Keycloak容器自身,而非宿主机,因此无法访问宿主机上的MySQL服务。
  • 另一个Docker容器:需要确保MySQL容器也加入了keycloak-network网络,否则Keycloak无法通过容器名访问它。

修正后的启动命令

根据你的MySQL部署场景选择对应命令:

场景1:MySQL运行在宿主机(Docker Desktop环境)

docker run -p 9090:8080 --name keycloak --net keycloak-network \
-e KEYCLOAK_ADMIN=admin \
-e KEYCLOAK_ADMIN_PASSWORD=admin \
-e DB_VENDOR=MYSQL \
-e DB_URL=jdbc:mysql://host.docker.internal:3306/keycloak?useSSL=false&allowPublicKeyRetrieval=true \
-e DB_USER=keycloak \
-e DB_PASSWORD=keycloak \
quay.io/keycloak/keycloak:latest start-dev

场景2:MySQL运行在同一网络的Docker容器(容器名为mysql)

docker run -p 9090:8080 --name keycloak --net keycloak-network \
-e KEYCLOAK_ADMIN=admin \
-e KEYCLOAK_ADMIN_PASSWORD=admin \
-e DB_VENDOR=MYSQL \
-e DB_ADDR=mysql \
-e DB_PORT=3306 \
-e DB_DATABASE=keycloak \
-e DB_USER=keycloak \
-e DB_PASSWORD=keycloak \
quay.io/keycloak/keycloak:latest start-dev

验证连接与查看数据

  1. 确认Keycloak已连接MySQL:查看Keycloak运行日志,找到类似以下行,说明连接成功:

    INFO [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (JPA Startup Thread: EE_MANAGEMENT_1) HHH000397: Using SQL Server dialect: org.hibernate.dialect.MySQL8Dialect
    INFO [org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory] (ServerService Thread Pool -- 61) Using JPA provider: org.hibernate.jpa.HibernatePersistenceProvider

  2. 查看MySQL中的Keycloak数据:

    • 登录MySQL实例:
      mysql -u root -p
      
    • 切换到keycloak数据库:
      USE keycloak;
      
    • 查看所有Keycloak表:
      SHOW TABLES;
      
    • 查看用户数据(例如user_entity表):
      SELECT * FROM user_entity;
      

补充说明

当Keycloak无法连接到配置的外部数据库时,会自动回退到内置的H2数据库(默认存储在容器内的/opt/keycloak/data/h2/目录),你之前保存的用户数据都存在这个H2数据库里,而非你的MySQL实例。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 13:47:16