KEYCLOAK + MYSQL + DOCKER --> 시작 실패

KEYCLOAK + MYSQL + DOCKER --> 시작 실패

내장된 H2 대신 사용자 정의 mysql 데이터베이스를 사용하는 Keycloak 인스턴스를 시작하려고 합니다.

나는 docker를 사용할 계획이므로 mysql과 통신하기 위해 Keyclock docker용 네트워크를 만들었습니다.

도커 네트워크는 keycloak-network를 생성합니다.

다음 명령으로 mysql의 docker 인스턴스가 시작됩니다.

sudo docker run --name mysql-container--net keycloak-네트워크-v /home/renju/opt/EXONERATE/DB/mysql-data-5-7:/var/lib/mysql -e MYSQL_DATABASE=keycloak -e MYSQL_USER=ku -e MYSQL_PASSWORD=kupw -e MYSQL_ROOT_PASSWORD=myrootpw -d - p 3306:3306 mysql:5.7

keycloak이 데이터베이스에 액세스할 것으로 예상됩니다.열쇠망토사용자 이름 포함그리고 비밀번호쿠푸. mysql에서 데이터베이스와 사용자가 생성되었는지 확인했습니다.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| keycloak           |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

mysql> select * from user where User='ku';
+------+------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+-----------------------+-------------------------------------------+------------------+-----------------------+-------------------+----------------+
| Host | User | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | Event_priv | Trigger_priv | Create_tablespace_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections | plugin                | authentication_string                     | password_expired | password_last_changed | password_lifetime | account_locked |
+------+------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+-----------------------+-------------------------------------------+------------------+-----------------------+-------------------+----------------+
| %    | ku   | N           | N           | N           | N           | N           | N         | N           | N             | N            | N         | N          | N               | N          | N          | N            | N          | N                     | N                | N            | N               | N                | N                | N              | N                   | N                  | N                | N          | N            | N                      |          |            |             |              |             0 |           0 |               0 |                    0 | mysql_native_password | *26F9FD80FE9252482EECF5F36ED57EE8551BF34A | N                | 2020-01-29 23:52:37   |              NULL | N              |
+------+------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+-----------------------+-------------------------------------------+------------------+-----------------------+-------------------+----------------+
1 row in set (0.00 sec)

mysql이 실행 중인 상태에서 사용자와 함께 mysql에 연결하기 위해 keycloak docker를 시작했습니다.데이터베이스에 액세스 중열쇠망토.

sudo docker run --name keycloak --net keycloak-network-이자형 DB_ADDR=mysql-컨테이너-e KEYCLOAK_USER=관리자 -e KEYCLOAK_PASSWORD=관리자 -eDB_VENDOR=MYSQL-이자형DB_DATABASE=키클로크-이자형 DB_USER=ku-이자형DB_PASSWORD=kupw-e JDBC_PARAMS='useSSL=false&allowPublicKeyRetrieval=true' -e JAVA_OPTS="-Djboss.as.management.blocking.timeout=1200" -p 8180:8180 jboss/keycloak -Djboss.http.port=8180

그러나 이 명령은 다음 예외를 제외하고 mysql의 테이블에 스키마/삽입 데이터를 생성하는 동안 실패합니다.

23:59:52,439 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 71) MSC000001: Failed to start service jboss.deployment.unit."keycloak-server.war".undertow-deployment: org.jboss.msc.service.StartException in service jboss.deployment.unit."keycloak-server.war".undertow-deployment: java.lang.RuntimeException: RESTEASY003325: Failed to construct public org.keycloak.services.resources.KeycloakApplication()
    at [email protected]//org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:81)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at [email protected]//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
    at [email protected]//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
    at [email protected]//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
    at [email protected]//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
    at java.base/java.lang.Thread.run(Thread.java:834)
    at [email protected]//org.jboss.threads.JBossThread.run(JBossThread.java:485)
Caused by: java.lang.RuntimeException: RESTEASY003325: Failed to construct public org.keycloak.services.resources.KeycloakApplication()
    at [email protected]//org.jboss.resteasy.core.ConstructorInjectorImpl.construct(ConstructorInjectorImpl.java:164)
    at [email protected]//org.jboss.resteasy.spi.ResteasyProviderFactory.createProviderInstance(ResteasyProviderFactory.java:2784)
    at [email protected]//org.jboss.resteasy.spi.ResteasyDeployment.createApplication(ResteasyDeployment.java:364)
    at [email protected]//org.jboss.resteasy.spi.ResteasyDeployment.startInternal(ResteasyDeployment.java:277)
    at [email protected]//org.jboss.resteasy.spi.ResteasyDeployment.start(ResteasyDeployment.java:89)
    at [email protected]//org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.init(ServletContainerDispatcher.java:119)
    at [email protected]//org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.init(HttpServletDispatcher.java:36)
    at [email protected]//io.undertow.servlet.core.LifecyleInterceptorInvocation.proceed(LifecyleInterceptorInvocation.java:117)
    at [email protected]//org.wildfly.extension.undertow.security.RunAsLifecycleInterceptor.init(RunAsLifecycleInterceptor.java:78)
    at [email protected]//io.undertow.servlet.core.LifecyleInterceptorInvocation.proceed(LifecyleInterceptorInvocation.java:103)
    at [email protected]//io.undertow.servlet.core.ManagedServlet$DefaultInstanceStrategy.start(ManagedServlet.java:305)
    at [email protected]//io.undertow.servlet.core.ManagedServlet.createServlet(ManagedServlet.java:145)
    at [email protected]//io.undertow.servlet.core.DeploymentManagerImpl$2.call(DeploymentManagerImpl.java:585)
    at [email protected]//io.undertow.servlet.core.DeploymentManagerImpl$2.call(DeploymentManagerImpl.java:556)
    at [email protected]//io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:42)
    at [email protected]//io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
    at [email protected]//org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
    at [email protected]//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1504)
    at [email protected]//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1504)
    at [email protected]//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1504)
    at [email protected]//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1504)
    at [email protected]//io.undertow.servlet.core.DeploymentManagerImpl.start(DeploymentManagerImpl.java:598)
    at [email protected]//org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:97)
    at [email protected]//org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:78)
    ... 8 more
Caused by: java.lang.RuntimeException: Failed to update database
    at [email protected]//org.keycloak.connections.jpa.updater.liquibase.LiquibaseJpaUpdaterProvider.update(LiquibaseJpaUpdaterProvider.java:116)
    at [email protected]//org.keycloak.connections.jpa.updater.liquibase.LiquibaseJpaUpdaterProvider.update(LiquibaseJpaUpdaterProvider.java:81)
    at [email protected]//org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory$2.run(DefaultJpaConnectionProviderFactory.java:336)
    at [email protected]//org.keycloak.models.utils.KeycloakModelUtils.runJobInTransaction(KeycloakModelUtils.java:227)
    at [email protected]//org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory.update(DefaultJpaConnectionProviderFactory.java:329)
    at [email protected]//org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory.migration(DefaultJpaConnectionProviderFactory.java:301)
    at [email protected]//org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory.lambda$lazyInit$0(DefaultJpaConnectionProviderFactory.java:182)
    at [email protected]//org.keycloak.models.utils.KeycloakModelUtils.suspendJtaTransaction(KeycloakModelUtils.java:682)
    at [email protected]//org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory.lazyInit(DefaultJpaConnectionProviderFactory.java:133)
    at [email protected]//org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory.create(DefaultJpaConnectionProviderFactory.java:81)
    at [email protected]//org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory.create(DefaultJpaConnectionProviderFactory.java:59)
    at [email protected]//org.keycloak.services.DefaultKeycloakSession.getProvider(DefaultKeycloakSession.java:205)
    at [email protected]//org.keycloak.models.jpa.JpaRealmProviderFactory.create(JpaRealmProviderFactory.java:51)
    at [email protected]//org.keycloak.models.jpa.JpaRealmProviderFactory.create(JpaRealmProviderFactory.java:33)
    at [email protected]//org.keycloak.services.DefaultKeycloakSession.getProvider(DefaultKeycloakSession.java:205)
    at [email protected]//org.keycloak.services.DefaultKeycloakSession.realmLocalStorage(DefaultKeycloakSession.java:158)
    at [email protected]//org.keycloak.models.cache.infinispan.RealmCacheSession.getRealmDelegate(RealmCacheSession.java:148)
    at [email protected]//org.keycloak.models.cache.infinispan.RealmCacheSession.getMigrationModel(RealmCacheSession.java:141)
    at [email protected]//org.keycloak.migration.MigrationModelManager.migrate(MigrationModelManager.java:91)
    at [email protected]//org.keycloak.services.resources.KeycloakApplication.migrateModel(KeycloakApplication.java:272)
    at [email protected]//org.keycloak.services.resources.KeycloakApplication.migrateAndBootstrap(KeycloakApplication.java:213)
    at [email protected]//org.keycloak.services.resources.KeycloakApplication$1.run(KeycloakApplication.java:180)
    at [email protected]//org.keycloak.models.utils.KeycloakModelUtils.runJobInTransaction(KeycloakModelUtils.java:227)
    at [email protected]//org.keycloak.services.resources.KeycloakApplication.startup(KeycloakApplication.java:171)
    at [email protected]//org.keycloak.services.resources.KeycloakApplication.init(KeycloakApplication.java:162)
    at [email protected]//org.keycloak.services.resources.KeycloakApplication.<init>(KeycloakApplication.java:143)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
    at [email protected]//org.jboss.resteasy.core.ConstructorInjectorImpl.construct(ConstructorInjectorImpl.java:152)
    ... 31 more
Caused by: liquibase.exception.MigrationFailedException: Migration failed for change set META-INF/jpa-changelog-1.2.0.Beta1.xml::1.2.0.Beta1::[email protected]:
     Reason: liquibase.exception.UnexpectedLiquibaseException: java.sql.SQLException: IJ031070: Transaction cannot proceed: STATUS_ROLLEDBACK
    at org.liquibase//liquibase.changelog.ChangeSet.execute(ChangeSet.java:607)
    at org.liquibase//liquibase.changelog.visitor.UpdateVisitor.visit(UpdateVisitor.java:51)
    at org.liquibase//liquibase.changelog.ChangeLogIterator.run(ChangeLogIterator.java:79)
    at org.liquibase//liquibase.Liquibase.update(Liquibase.java:214)
    at org.liquibase//liquibase.Liquibase.update(Liquibase.java:192)
    at org.liquibase//liquibase.Liquibase.update(Liquibase.java:188)
    at [email protected]//org.keycloak.connections.jpa.updater.liquibase.LiquibaseJpaUpdaterProvider.updateChangeSet(LiquibaseJpaUpdaterProvider.java:182)
    at [email protected]//org.keycloak.connections.jpa.updater.liquibase.LiquibaseJpaUpdaterProvider.update(LiquibaseJpaUpdaterProvider.java:102)
    ... 61 more
Caused by: liquibase.exception.UnexpectedLiquibaseException: java.sql.SQLException: IJ031070: Transaction cannot proceed: STATUS_ROLLEDBACK
    at org.liquibase//liquibase.database.jvm.JdbcConnection.getURL(JdbcConnection.java:79)
    at org.liquibase//liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:66)
    at org.liquibase//liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:113)
    at org.liquibase//liquibase.database.AbstractJdbcDatabase.execute(AbstractJdbcDatabase.java:1277)
    at org.liquibase//liquibase.database.AbstractJdbcDatabase.executeStatements(AbstractJdbcDatabase.java:1259)
    at org.liquibase//liquibase.changelog.ChangeSet.execute(ChangeSet.java:582)
    ... 68 more
Caused by: java.sql.SQLException: IJ031070: Transaction cannot proceed: STATUS_ROLLEDBACK
    at [email protected]//org.jboss.jca.adapters.jdbc.WrapperDataSource.checkTransactionActive(WrapperDataSource.java:271)
    at [email protected]//org.jboss.jca.adapters.jdbc.WrappedConnection.checkTransactionActive(WrappedConnection.java:2001)
    at [email protected]//org.jboss.jca.adapters.jdbc.WrappedConnection.checkStatus(WrappedConnection.java:2016)
    at [email protected]//org.jboss.jca.adapters.jdbc.WrappedConnection.checkTransaction(WrappedConnection.java:1990)
    at [email protected]//org.jboss.jca.adapters.jdbc.WrappedConnection.getMetaData(WrappedConnection.java:977)
    at org.liquibase//liquibase.database.jvm.JdbcConnection.getURL(JdbcConnection.java:77)
    ... 73 more

23:59:52,646 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([("subsystem" => "microprofile-metrics-smallrye")]): java.lang.NullPointerException
    at [email protected]//org.wildfly.extension.microprofile.metrics.MicroProfileMetricsSubsystemAdd$2.execute(MicroProfileMetricsSubsystemAdd.java:86)
    at [email protected]//org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:999)
    at [email protected]//org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:743)
    at [email protected]//org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:467)
    at [email protected]//org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1413)
    at [email protected]//org.jboss.as.controller.ModelControllerImpl.boot(ModelControllerImpl.java:521)
    at [email protected]//org.jboss.as.controller.AbstractControllerService.boot(AbstractControllerService.java:472)
    at [email protected]//org.jboss.as.controller.AbstractControllerService.boot(AbstractControllerService.java:434)
    at [email protected]//org.jboss.as.server.ServerService.boot(ServerService.java:435)
    at [email protected]//org.jboss.as.server.ServerService.boot(ServerService.java:394)
    at [email protected]//org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:374)
    at java.base/java.lang.Thread.run(Thread.java:834)

23:59:52,649 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0190: Step handler org.jboss.as.server.DeployerChainAddHandler$FinalRuntimeStepHandler@757c56a0 for operation add-deployer-chains at address [] failed handling operation rollback -- java.util.concurrent.RejectedExecutionException: java.util.concurrent.RejectedExecutionException
    at [email protected]//org.jboss.threads.RejectingExecutor.execute(RejectingExecutor.java:37)
    at [email protected]//org.jboss.threads.EnhancedQueueExecutor.rejectShutdown(EnhancedQueueExecutor.java:2026)
    at [email protected]//org.jboss.threads.EnhancedQueueExecutor.execute(EnhancedQueueExecutor.java:757)
    at [email protected]//org.jboss.as.controller.notification.NotificationSupports$NonBlockingNotificationSupport.emit(NotificationSupports.java:95)
    at [email protected]//org.jboss.as.controller.OperationContextImpl.notifyModificationBegun(OperationContextImpl.java:877)
    at [email protected]//org.jboss.as.controller.OperationContextImpl.ensureWriteLockForRuntime(OperationContextImpl.java:866)
    at [email protected]//org.jboss.as.controller.OperationContextImpl.removeService(OperationContextImpl.java:639)
    at [email protected]//org.jboss.as.server.DeployerChainAddHandler$FinalRuntimeStepHandler$1.handleRollback(DeployerChainAddHandler.java:135)
    at [email protected]//org.jboss.as.controller.AbstractOperationContext$RollbackDelegatingResultHandler.handleResult(AbstractOperationContext.java:1561)
    at [email protected]//org.jboss.as.controller.AbstractOperationContext$Step.invokeResultHandler(AbstractOperationContext.java:1533)
    at [email protected]//org.jboss.as.controller.AbstractOperationContext$Step.handleResult(AbstractOperationContext.java:1515)
    at [email protected]//org.jboss.as.controller.AbstractOperationContext$Step.finalizeInternal(AbstractOperationContext.java:1472)
    at [email protected]//org.jboss.as.controller.AbstractOperationContext$Step.finalizeStep(AbstractOperationContext.java:1455)
    at [email protected]//org.jboss.as.controller.AbstractOperationContext$Step.access$400(AbstractOperationContext.java:1319)
    at [email protected]//org.jboss.as.controller.AbstractOperationContext.executeResultHandlerPhase(AbstractOperationContext.java:876)
    at [email protected]//org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:756)
    at [email protected]//org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:467)
    at [email protected]//org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1413)
    at [email protected]//org.jboss.as.controller.ModelControllerImpl.boot(ModelControllerImpl.java:521)
    at [email protected]//org.jboss.as.controller.AbstractControllerService.boot(AbstractControllerService.java:472)
    at [email protected]//org.jboss.as.controller.AbstractControllerService.boot(AbstractControllerService.java:434)
    at [email protected]//org.jboss.as.server.ServerService.boot(ServerService.java:435)
    at [email protected]//org.jboss.as.server.ServerService.boot(ServerService.java:394)
    at [email protected]//org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:374)
    at java.base/java.lang.Thread.run(Thread.java:834)
    Suppressed: java.util.concurrent.RejectedExecutionException: Executor is being shut down
        at [email protected]//org.jboss.threads.EnhancedQueueExecutor.rejectShutdown(EnhancedQueueExecutor.java:2028)
        ... 23 more

23:59:52,650 ERROR [org.jboss.as.controller.client] (Controller Boot Thread) WFLYCTL0190: Step handler org.jboss.as.server.DeployerChainAddHandler$FinalRuntimeStepHandler@757c56a0 for operation add-deployer-chains at address [] failed handling operation rollback -- java.util.concurrent.RejectedExecutionException

그런데 이 프로세스를 실행한 결과 테이블이 생성된 것을 볼 수 있었습니다.열쇠망토 데이터베이스.

mysql> 
mysql> use keycloak;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+------------------------------+
| Tables_in_keycloak           |
+------------------------------+
| APPLICATION_DEFAULT_ROLES    |
| APP_NODE_REGISTRATIONS       |
| CLIENT                       |
| CLIENT_ATTRIBUTES            |
| CLIENT_IDENTITY_PROV_MAPPING |
| CLIENT_SESSION               |
| CLIENT_SESSION_NOTE          |
| CLIENT_SESSION_ROLE          |
| COMPOSITE_ROLE               |
| CREDENTIAL                   |
| DATABASECHANGELOG            |
| DATABASECHANGELOGLOCK        |
| EVENT_ENTITY                 |
| FEDERATED_IDENTITY           |
| FED_PROVIDERS                |
| IDENTITY_PROVIDER            |
| IDENTITY_PROVIDER_CONFIG     |
| KEYCLOAK_ROLE                |
| PROTOCOL_MAPPER              |
| PROTOCOL_MAPPER_CONFIG       |
| REALM                        |
| REALM_APPLICATION            |
| REALM_ATTRIBUTE              |
| REALM_DEFAULT_ROLES          |
| REALM_ENABLED_EVENT_TYPES    |
| REALM_EVENTS_LISTENERS       |
| REALM_REQUIRED_CREDENTIAL    |
| REALM_SMTP_CONFIG            |
| REALM_SUPPORTED_LOCALES      |
| REDIRECT_URIS                |
| SCOPE_MAPPING                |
| USERNAME_LOGIN_FAILURE       |
| USER_ATTRIBUTE               |
| USER_ENTITY                  |
| USER_FEDERATION_CONFIG       |
| USER_FEDERATION_PROVIDER     |
| USER_REQUIRED_ACTION         |
| USER_ROLE_MAPPING            |
| USER_SESSION                 |
| USER_SESSION_NOTE            |
| WEB_ORIGINS                  |
+------------------------------+
41 rows in set (0.00 sec)

실패 원인을 알 수 없습니다. 내 우분투 컴퓨터에서 그것을 Tring하고 있습니다.

이 질문을 게시하기에 적합한 장소인지 확실하지 않습니다. stackoverflow 회원의 요청에 따라 그렇게 합니다.

답변1

에 따르면https://github.com/keycloak/keycloak-containers/blob/master/docker-compose-examples/keycloak-mysql.yml, 환경 변수 &connectTimeout=30000에 추가하기만 하면 됩니다 JDBC_PARAMS.

답변2

모닝 커피가 더 필요할 수도 있지만, 제가 보기에는 MySQL ku 사용자에게 권한이 부여되지 않은 것 같아서 애플리케이션도 실패합니다.

관련 정보