log4j:WARN No appenders could be found for logger (com.alibaba.druid.pool.DruidDataSource).log4j:WARN Please initialize the log4j system properly.16:03:46.074[main] ERROR org.activiti.engine.impl.interceptor.CommandContext - Error while closing command contextorg.activiti.engine.ActivitiException: couldn't check if tables are already present using metadata: Public Key Retrieval is not allowedat org.activiti.engine.impl.db.DbSqlSession.isTablePresent(DbSqlSession.java:1144) ~[activiti-engine-5.22.0.jar!/:5.22.0]at org.activiti.engine.impl.db.DbSqlSession.isEngineTablePresent(DbSqlSession.java:1094) ~[activiti-engine-5.22.0.jar!/:5.22.0]at org.activiti.engine.impl.db.DbSqlSession.dbSchemaUpdate(DbSqlSession.java:1027) ~[activiti-engine-5.22.0.jar!/:5.22.0]
- 问题分析:
表示 Activiti 引擎在启动时无法检查数据库表是否存在, MySQL 连接配置不允许获取公钥。 - 原因:
使用了 MySQL 8 或更高版本,并且使用了新的默认身份验证插件( caching_sha2_password
),连接配置没有允许获取公钥。 - Activiti 引擎:
Activiti 是一个流程引擎,需要在数据库中存储流程定义和运行时数据。 couldn't check if tables are already present using metadata
:在启动时,Activiti 引擎会检查数据库中是否存在必要的表。 Public Key Retrieval is not allowed
:由 MySQL 驱动程序引起的。身份验证插件需要检索服务器的公钥,默认情况下,为了安全被禁用。
allowPublicKeyRetrieval=trueurl: jdbc:mysql://10.21.3.221:3303/db?characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true


文章转载自巴韭特锁螺丝,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




