After upgrading MySQL, Confluence fails starting: Your database Storage Engine could not be determined

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Summary

After upgrading the MySQL database from version 5.6 to version 5.7, Confluence isn't starting anymore. MySQL 5.6 was previously configured according to the document Database Setup For MySQL, and worked fine before the upgrade.

However, after the upgrade, Confluence UI shows up the following error:

  • Confluence had problems starting up

  • Description: This installation of Confluence has failed one or more bootstrap configuration checks. Please check the logs for details.

  • Exception: Your database Storage Engine could not be determined

Environment

  • Confluence Server or Data Center (any version)

  • MySQL 5.7, upgraded from MySQL 5.6

  • CentOS 7

Diagnosis

In the application logs, we can see that Confluence can't identify the Transaction Isolation level and the Storage Engine:

atlassian-confluence.log

1 2 3 2021-05-03 13:23:58,301 ERROR [localhost-startStop-1] [confluence.setup.dbcheck.MySQLChecker] checkIsolationLevel MySQL isolation level could not be read. Isolation level must be 'READ-COMMITTED'. See http://confluence.atlassian.com/x/GAtmDg 2021-05-03 13:23:58,516 ERROR [localhost-startStop-1] [atlassian.confluence.setup.BootstrapApplicationStartupListener] checkConfigurationOnStartup Your database Storage Engine could not be determined

Also in the application logs, Confluence reports the table performance_schema.global_variables is missing after the upgrade:

1 2 3 4 5 6 7 8 9 10 11 2021-04-29 16:00:33,846 WARN [HealthCheckWatchdog:thread-1] [troubleshooting.healthcheck.concurrent.SupportHealthCheckTask] healthCheckError Unable to complete execution of health check Server SQL Mode due to an exception java.util.concurrent.ExecutionException: java.lang.RuntimeException: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'performance_schema.global_variables' doesn't exist at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:206) at com.atlassian.troubleshooting.healthcheck.concurrent.SupportHealthCheckTask.getFutureWithTimeout(SupportHealthCheckTask.java:88) at com.atlassian.troubleshooting.healthcheck.concurrent.SupportHealthCheckTask.lambda$runAsync$0(SupportHealthCheckTask.java:68) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.RuntimeException: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'performance_schema.global_variables' doesn't exist

When logging into the database and trying to check the Storage Engine and Isolation level, the output shows empty rows as the result:

MySQL console

1 2 3 4 5 6 7 8 9 10 11 12 mysql> USE confluence; Database changed mysql> SHOW ENGINES; +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ 9 rows in set (0.00 sec) mysql> SELECT @@TX_ISOLATION; +----------------+ +----------------+ +----------------+ 1 row in set, 1 warning (0.00 sec)

Cause

The MySQL upgrade didn't complete properly.

Solution

  1. Shutdown Confluence.

  2. Run the following command on a terminal to complete the MySQL upgrade:

    1 [user@atlassian]$ mysql_upgrade --force
  3. Restart MySQL.

  4. Start Confluence.

Updated on March 18, 2025

Still need help?

The Atlassian Community is here for you.