I managed to get a connection from Jira to the MySQL data base. I need to mention that I run both in a docker container (jira and mysql).
MySQL is version: 8.0.20 MySQL (I assume to use MySQL 5.7+)
The connection between the data base and Jira basically works. But I still get stuck in the "Database setup" dialog. The error message is:
This MySQL instance is not properly configured. Please follow the documentation for MySQL 5.7+ setup.
I did the following steps:
# Get and initialize
docker pull mysql
docker run -p 3306:3306 --name red-mysql -e MYSQL_ROOT_PASSWORD=test -d mysql:latest
#########################
# Wait a few minutes, let the docker container start properly
# Shell to run command within the docker
docker exec -it red-mysql bash
# Setup the data base
mysql -u root -p
the password is 'test', as set above
CREATE DATABASE jiradb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'jiradbuser'@'%' IDENTIFIED BY 'test_password';
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,REFERENCES,ALTER,INDEX on jiradb.* TO 'jiradbuser'@'%';
flush privileges;
quit
# Prepare JIRA
docker volume create --name jiraVolume
docker run -v jiraVolume:/var/atlassian/application-data/jira --name="jira" -d -p 8080:8080 atlassian/jira-software
# Make them restart @ PC boot
docker update --restart=always jira
docker update --restart=always red-mysql
# Prepare the mysql connector
docker cp mysql-connector-java-5.1.49.tar.gz jira:/
docker exec -it jira bash
mv mysql-connector-java-5.1.49.tar.gz opt/atlassian/jira/lib (in the container)
Settings (Database setup dialog in webbrowser):
Database Type: MySQL 5.7+
Hostname: 192.168.1.146
Port: 3306
Database: jiradb
Username: jiradbuser
Password: test_password
Then I do get the error mentioned above. Reading the link provided with the error I found that I am short of the following settings in my.cnf.
Locate the [mysqld] section in the file, and add or modify the following parameters:
Set the default storage engine to InnoDB:
[mysqld]
...
default-storage-engine=INNODB
...
Specify the character set used by the database server:
[mysqld]
...
character_set_server=utf8mb4
...
Set the default row format to DYNAMIC:
[mysqld]
...
innodb_default_row_format=DYNAMIC
...
Enable the large prefix:
[mysqld]
...
innodb_large_prefix=ON
...
Set the InnoDB file format to Barracuda:
[mysqld]
...
innodb_file_format=Barracuda
...
Specify the value of innodb_log_file_size to be at least 2G:
[mysqld]
...
innodb_log_file_size=2G
...
Ensure the sql_mode parameter does not specify NO_AUTO_VALUE_ON_ZERO
// remove this if it exists
sql_mode = NO_AUTO_VALUE_ON_ZERO
As soon as I have added these settings in /etc/mysql/my.cnf the data base server does not start anymore. If I restore the my.cnf the error is back.
- Do you have any hint where I can find some more info to debug?
- Is there some more in what is properly configured on MySQL?
- Is there somewhere a log in Jira I could analyze?
Any tip is welcome.
Kind regards,
Reto