Upgrade from 8.6.1 to 8.20.2 ends with Jira instance setup screen

DP IT December 8, 2021

Hi,

We're running Jira Server with a commercial license on an Ubuntu 16.04 vm.
I'm trying to upgrade to 8.20.2 LTS so I cloned my vm to have a test environment. Modified the servername, IP etc and in Jira change the base url and some other settings. That worked fine.


I then followed the steps using the guide "Upgrading Jira (Installer)".

I ran the installer and chose the upgrade option. This procedure ran fine.

>>Installation of Jira Software 8.20.2 is complete
>>Your installation of Jira Software 8.20.2 is now ready.

 

I downloaded a new MySQL connector from the site. But there the oldest Ubuntu version shown is 18.04 so I chose that file: mysql-connector-java_8.0.27-1ubuntu18.04_all.deb  

Copied it into /opt/atlassian/jira/lib/

 

root@dpjira-test:/tmp# ll /opt/atlassian/jira/lib/*mysql*

-rw-r--r-- 1 root root 1006956 Dec  8 10:15 /opt/atlassian/jira/lib/mysql-connector-java-5.1.48.jar

-rw-r--r-- 1 root root 2448820 Dec  8 10:17 /opt/atlassian/jira/lib/mysql-connector-java_8.0.27-1ubuntu18.04_all.deb

 

 

I started Jira using the start-jira.sh script and when I opened the webpage I got these errors:

1.png

 

The first error seems strange to me because prior to the update I made this screenshot in Jira 8.6.1 showing the MySQL was version 5.7

2.png

 

But the 'learn more' suggested to change the dbconfig.xml file.

Content of the original file:

<?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://address=(protocol=tcp)(host=localhost)(port=3306)/jiradb?sessionVariables=default_storage_engine=InnoDB</url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<username>jiradbuser</username>
<password>FOUTpDYKSb3t2axHNqFv</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>

 

I changed the <url> tag to the line below because the error suggests that's were not using MySQL 5.7:

<url>jdbc:mysql://dbserver:3306/jiradb?useUnicode=true&characterEncoding=UTF8&sessionVariables=storage_engine=InnoDB</url>

But now I get an error that the option storage_engine is deprecated so that was not it.

 

Changed the <url> to this line:

<url>jdbc:mysql://dbserver:3306/jiradb?useUnicode=true&characterEncoding=UTF8&sessionVariables=default_storage_engine=InnoDB</url>

 

Now at first it looked ok, Jira was starting, Atlassian Jira is ready on the webpage.

But then... I get the screen for initial setup where I have to create a database connection?

3.png

I've upgraded before from 8.3.3. to 8.6.1 and I cannot remember that I had to do that again. Also it's not mentioned anywhere in the upgrade documents.

 

I've not done anything to the MySQL database.

If I run the  mysql -V  command I got this back:

root@dpjira-test:/opt/atlassian/jira/logs# mysql -V
mysql Ver 14.14 Distrib 5.7.33, for Linux (x86_64) using EditLine wrapper

 

As server is a VM it was easy to do it again (and again). One time did an upgrade of Ubuntu first to 18.04 so it would match the version of the mysql connector file that was downloaded earlier but with the same result.

 

So what am I doing wrong here?

Hopefully someone can point me in the right direction to get this upgrade working with our existing database.

Thanks,

Richard

3 answers

1 accepted

0 votes
Answer accepted
DP IT December 16, 2021

Ok after an intensive search it found another topic and it turned out that I had to add the text below so ssl would not be used.

The config.sh test for database setup failed with some message about ssl so that got me searching in that direction.

 

<url>jdbc:mysql://address=(useSSL=false)(protocol=tcp)...

0 votes
DP IT December 9, 2021

Hi,

Yes on the cloned VM I can connect to the mysql database (it's a local database on the machine so it's part of the vm).


root@dpjira-test:/opt/atlassian/jira/bin# mysql -u jiradbuser -p jiradb
Enter password:
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 62
Server version: 5.7.33-0ubuntu0.16.04.1 (Ubuntu)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> SELECT DATABASE();
+------------+
| DATABASE() |
+------------+
| jiradb |
+------------+
1 row in set (0.00 sec)

mysql> SELECT VERSION( );
+-------------------------+
| VERSION( ) |
+-------------------------+
| 5.7.33-0ubuntu0.16.04.1 |
+-------------------------+
1 row in set (0.00 sec)

 

Jira message at startup:
The database type in your dbconfig.xml is set up to MySQL 5.7 and your MySQL version is different.
Show version = 5.7.33 and dbconfig.xml contains <database-type>mysql57</database-type> so both are 5.7.

So why this error?

 

Richard

0 votes
Sagar
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
December 8, 2021

Hi @DP IT First of all as you have clone your production VM to create a Stage instance. can you confirm that if you able to connect to the MySQL database from the Stage VM like you mentioned above.

Try connect to the Jira DB from the server using below command.

mysql -u <database-username> -p <database-name> 

This will confirm if you can access the database with the details passed in dbconfig.xml as this file is doing the same to connect to the Jira database.

Then will look for the next steps.

Suggest an answer

Log in or Sign up to answer