我无法从Azure云将keyclaok连接到MariaDB服务器。给出无法打开连接的错误。
连接字符串以及DB服务器的凭据都已连接,但是一旦我运行keyclaok容器,它就会给出以下错误。
keycloak_1 | at org.jboss.ironjacamar.jdbcadapters@1.4.22.Final//org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.createLocalManagedConnection(LocalManagedConnectionFactory.java:345)
keycloak_1 | at org.jboss.ironjacamar.jdbcadapters@1.4.22.Final//org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(LocalManagedConnectionFactory.java:352)
keycloak_1 | at org.jboss.ironjacamar.jdbcadapters@1.4.22.Final//org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:287)
keycloak_1 | at org.jboss.ironjacamar.impl@1.4.22.Final//org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreConcurrentLinkedDequeManagedConnectionPool.createConnectionEventListener(SemaphoreConcurrentLinkedDequeManagedConnectionPool.java:1322)
keycloak_1 | at org.jboss.ironjacamar.impl@1.4.22.Final//org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreConcurrentLinkedDequeManagedConnectionPool.getConnection(SemaphoreConcurrentLinkedDequeManagedConnectionPool.java:499)
keycloak_1 | at org.jboss.ironjacamar.impl@1.4.22.Final//org.jboss.jca.core.connectionmanager.pool.AbstractPool.getSimpleConnection(AbstractPool.java:632)
keycloak_1 | at
org.jboss.ironjacamar.jdbcadapters@1.4.22.Final//org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:151)
keycloak_1 | at org.jboss.as.connector@20.0.1.Final//org.jboss.as.connector.subsystems.datasources.WildFlyDataSource.getConnection(WildFlyDataSource.java:64)
keycloak_1 | at org.keycloak.keycloak-model-jpa@11.0.3//org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory.getConnection(DefaultJpaConnectionProviderFactory.java:371)
keycloak_1 | at org.keycloak.keycloak-model-jpa@11.0.3//org.keycloak.connections.jpa.updater.liquibase.lock.LiquibaseDBLockProvider.lazyInit(LiquibaseDBLockProvider.java:65)
keycloak_1 | at org.keycloak.keycloak-model-jpa@11.0.3//org.keycloak.connections.jpa.updater.liquibase.lock.LiquibaseDBLockProvider.lambda$waitForLock$2(LiquibaseDBLockProvider.java:96)
keycloak_1 | at org.keycloak.keycloak-server-spi-private@11.0.3//org.keycloak.models.utils.KeycloakModelUtils.suspendJtaTransaction(KeycloakModelUtils.java:682)
keycloak_1 | at org.keycloak.keycloak-model-jpa@11.0.3//org.keycloak.connections.jpa.updater.liquibase.lock.LiquibaseDBLockProvider.waitForLock(LiquibaseDBLockProvider.java:94)
keycloak_1 | at org.keycloak.keycloak-services@11.0.3//org.keycloak.services.resources.KeycloakApplication$1.run(KeycloakApplication.java:135)
keycloak_1 | at org.keycloak.keycloak-server-spi-private@11.0.3//org.keycloak.models.utils.KeycloakModelUtils.runJobInTransaction(KeycloakModelUtils.java:227)
keycloak_1 | at org.keycloak.keycloak-services@11.0.3//org.keycloak.services.resources.KeycloakApplication.startup(KeycloakApplication.java:128)
keycloak_1 | at org.jboss.resteasy.resteasy-jaxrs@3.12.1.Final//org.jboss.resteasy.spi.ResteasyDeployment.startInternal(ResteasyDeployment.java:283)
keycloak_1 | at org.jboss.resteasy.resteasy-jaxrs@3.12.1.Final//org.jboss.resteasy.spi.ResteasyDeployment.start(ResteasyDeployment.java:93)
io.undertow.servlet@2.1.3.Final//io.undertow.servlet.core.LifecyleInterceptorInvocation.proceed(LifecyleInterceptorInvocation.java:103)
keycloak_1 | at io.undertow.servlet@2.1.3.Final//io.undertow.servlet.core.ManagedServlet$DefaultInstanceStrategy.start(ManagedServlet.java:305)
keycloak_1 | at io.undertow.servlet@2.1.3.Final//io.undertow.servlet.core.ManagedServlet.createServlet(ManagedServlet.java:145)
keycloak_1 | at io.undertow.servlet@2.1.3.Final//io.undertow.servlet.core.DeploymentManagerImpl$2.call(DeploymentManagerImpl.java:585)
keycloak_1 | at io.undertow.servlet@2.1.3.Final//io.undertow.servlet.core.DeploymentManagerImpl$2.call(DeploymentManagerImpl.java:556)
keycloak_1 | at io.undertow.servlet@2.1.3.Final//io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:42)
keycloak_1 | at io.undertow.s
'keycloak'
keycloak_1 | at org.mariadb.jdbc//org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.get(ExceptionMapper.java:243)
keycloak_1 | at org.mariadb.jdbc//org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1243)
keycloak_1 | at org.mariadb.jdbc//org.mariadb.jdbc.internal.util.Utils.retrieveProxy(Utils.java:622)
keycloak_1 | at org.mariadb.jdbc//org.mariadb.jdbc.MariaDbConnection.newConnection(MariaDbConnection.java:142)
keycloak_1 | at org.mariadb.jdbc//org.mariadb.jdbc.Driver.connect(Driver.java:86)
keycloak_1 | at org.jboss.ironjacamar.jdbcadapters@1.4.22.Final//org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.createLocalManagedConnection(LocalManagedConnectionFactory.java:321)
keycloak_1 | ... 57 more
keycloak_1 | Caused by: java.sql.SQLException: Unknown database 'keycloak'
keycloak_1 | at org.mariadb.jdbc//org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.authenticationHandler(AbstractConnectProtocol.java:729)
keycloak_1 | at org.mariadb.jdbc//org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.createConnection(AbstractConnectProtocol.java:507)
keycloak_1 | at org.mariadb.jdbc//org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1238)
keycloak_1 | ... 61 more
keycloak_1 |
keycloak_1 | 21:04:14,492 FATAL [org.keycloak.services] (ServerService Thread Pool -- 61) Error during startup: java.lang.RuntimeException: Failed to connect to database发布于 2021-03-23 18:02:15
你在使用docker-compose文件吗?如果能看到它就好了,这样才能有所帮助。
发布于 2021-07-09 22:31:02
从堆栈跟踪中可以看到,Keycloak找不到您的数据库。
密钥罩未知数据库‘
’
是你设置好的吗?
您可能想要尝试这样的设置:
CREATE USER 'keycloak'@'%' IDENTIFIED BY 'your password goes here';
CREATE DATABASE keycloak CHARACTER SET utf8 COLLATE utf8_unicode_ci;
GRANT ALL PRIVILEGES ON keycloak.* TO 'keycloak'@'%';https://stackoverflow.com/questions/66323492
复制相似问题