Confluence fails to start and throws 'MySQL session isolation level 'REPEATABLE-READ' is no longer supported' error
Platform Notice: Server and Data Center Only - This article only applies to Atlassian products on the server and data center platforms.
Confluence does not start when connecting to MySQL. The following page appears:
MySQL is running with the wrong transaction isolation level. With 3.5, Confluence enforced a global transaction isolation level of READ-COMMITTED. As of 3.5.6, this property can be set either globally or on a session level. New installations will automatically have the correct session isolation level set, but upgraded installations will need to set it manually.
There are several options for fixing this:
Set the global transaction isolation level to READ-COMMITTED. You can do this by configuring your MySQL server's settings by editing MySQL's
my.cnffile (often named
my.inion Windows operating systems). Locate the
[mysqld]section in the file and add/modify the following parameter:
[mysqld] ... transaction-isolation=READ-COMMITTED ...
(Confluence 3.5.6 onwards) Set the session isolation level in Confluence. For existing installations of Confluence, in the top level of your Confluence home directory, find the
confluence.cfg.xmlfile and locate the
<properties>section. Add the following parameter:
<properties> ... <property name="hibernate.connection.isolation">2</property> ... <properties>
For new installations of Confluence or if the Isolation level issue comes after Upgrade , configure the JDBC string as follows to set the sessionVariable to enforce READ-COMMITTED:For MySQL 5.x
?sessionVariables=tx_isolation='READ-COMMITTED' e.g. jdbc:mysql://127.0.0.1:3306/confdb?sessionVariables=tx_isolation='READ-COMMITTED'For MySQL 8.x
?sessionVariables=transaction_isolation='READ-COMMITTED' e.g. jdbc:mysql://127.0.0.1:3306/confdb?sessionVariables=transaction_isolation='READ-COMMITTED'