一、问题背景 服务器重启后,重启MySQL 8版本数据库,查看java后台日志,出现报错信息。 二、问题分析 三、问题解决 解决方法: 添加连接参数 重新启动java程序,可以看到已经恢复正常。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]
caching_sha2_password
),连接配置没有允许获取公钥。couldn't check if tables are already present using metadata
: 在启动时,Activiti 引擎会检查数据库中是否存在必要的表。Public Key Retrieval is not allowed
:由 MySQL 驱动程序引起的。身份验证插件需要检索服务器的公钥,默认情况下,为了安全被禁用。allowPublicKeyRetrieval=true
修改后的配置文件连接信息如下:url: jdbc:mysql://10.21.3.221:3303/db?characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true
处理Java程序MySQL连接报错:Public Key Retrieval is not allowed 【测试成功】
发布于 2025-04-02 17 次阅读