sourcecode

azure mariadb 서버에 키클로크 연결

codebag 2023. 9. 15. 20:58
반응형

azure mariadb 서버에 키클로크 연결

Azure 클라우드에서 키클락을 MariaDB 서버에 연결할 수 없습니다.연결을 열 수 없는 오류를 제공합니다.

DB 서버에 대한 자격 증명뿐만 아니라 연결 문자열도 연결되어 있지만 키클록 컨테이너를 실행하면 다음과 같은 오류가 발생합니다.

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

도커로 작성된 파일을 사용하고 계십니까?도움이 되기 위해서라도 그것을 보는 것이 좋을 것입니다.

스택 트레이스에서 볼 수 있듯이 키클로크는 사용자의 데이터베이스를 찾을 수 없습니다.

알 수 없는 데이터베이스 '키클로크'

설치하셨나요?

이를 설정하기 위해 다음과 같은 방법을 시도해 볼 수 있습니다.

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'@'%';

언급URL : https://stackoverflow.com/questions/66323492/keycloak-connect-to-azure-mariadb-server

반응형