我在独立服务器上运行着 confluence 和 jira。
我刚刚升级了 confluence - 没问题。它连接到 mysql 运行,并且我们所说的是最新版本。
我刚刚更新了 jira,但是它说无法连接到数据库:
数据库:我们发现 MySQL 支持的版本有错误!您的 dbconfig.xml 中的数据库类型设置为 MySQL 5.7,而您的 MySQL 版本不同。请考虑改用 MySQL 5.7 数据库类型。有关更改数据库类型的更多信息,请参阅我们的文档。
但数据库配置或数据库版本从未改变。
我将 .jar 从 mysql-connector-java-5.1.48 更新为:
mysql-connector-java-5.1.48-bin.jar
但仍然无法连接。
dbconfig 如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<jira-database-config>
<name>defaultDS</name>
<delegator-name>default</delegator-name>
<database-type>mysql57</database-type>
<jdbc-datasource>
<url>jdbc:mysql://dbserver:3306/jiradb?useUnicode=true&characterEncoding=UTF8&sessionVariables=default_storage_engine=InnoDB</url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<username>jiradb</username>
<password>somepassword</password>
<pool-min-size>20</pool-min-size>
<pool-max-size>20</pool-max-size>
<pool-max-wait>30000</pool-max-wait>
<validation-query>select 1</validation-query>
<min-evictable-idle-time-millis>60000</min-evictable-idle-time-millis>
<time-between-eviction-runs-millis>300000</time-between-eviction-runs-millis>
<pool-max-idle>20</pool-max-idle>
<pool-remove-abandoned>true</pool-remove-abandoned>
<pool-remove-abandoned-timeout>300</pool-remove-abandoned-timeout>
<pool-test-on-borrow>false</pool-test-on-borrow>
<pool-test-while-idle>true</pool-test-while-idle>
<validation-query-timeout>3</validation-query-timeout>
</jdbc-datasource>
</jira-database-config>
如果不回滚所有内容,我不知道该怎么办,有没有其他人遇到过类似的问题?
我已经回滚了整个服务器(包括数据库)但 JIRA 仍然无法启动 :/ 有人有什么想法吗?
答案1
将 JIRA 升级到 8.19.0 版后,我的三个实例中的一个也遇到了同样的问题。我有一个容器化部署,所有三个实例都使用相同的 JIRA 镜像和相同的 MySQL 镜像,但只有一个实例受到影响。
对我来说,解决方案是将allowPublicKeyRetrieval=true
参数添加到 URL。
<url>jdbc:mysql://mysql:3306/jira?useUnicode=true&characterEncoding=utf8&allowPublicKeyRetrieval=true&useSSL=false&sessionVariables=default_storage_engine=InnoDB</url>