我正在尝试按照指南这里直接查看我的H2数据库。
执行命令时:
java -cp $jar org.h2.tools.Console -url "$url" -user sa -password sa
我收到以下异常
Exception in thread "main" org.h2.jdbc.JdbcSQLException: Wrong user name or password [28000-193]
这看起来相对简单,但我似乎无法弄清楚我的凭据。我通过 docker 映像在本地运行 keycloak 7.0.0,并且我没有故意修改有关数据库的任何内容。到目前为止,我已经尝试了 sa、empty 和 keycloak 凭证的排列,但没有成功。
有什么方法可以获取/设置/创建该数据库的一组凭据吗?
我认为现成的 h2 数据库的默认密码是“”(空)。
尽管如此,您也可以从子系统配置文件查找或配置数据源。
你应该找到这样的东西。
<subsystem xmlns="urn:jboss:domain:datasources:5.0">
<datasources>
<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">
<driver>h2</driver>
<connection-url>jdbc:h2:${jboss.server.data.dir}/keycloak;AUTO_SERVER=TRUE</connection-url>
<security>
<user-name>sa</user-name>
<password>?</password>
</security>
</datasource>
...
</datasources>
Keycloak 依赖于 Widlfly,该文档提供了有关数据库配置的更多信息。
钥匙斗篷23