Crowd Doesn't Start if Using MySQL with Binary Logging

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

Symptoms

Crowd with a MySQL database generates an error similar to the following:

1 Binary logging not possible. Message: Transaction level 'READ-COMMITTED' in InnoDB is not safe for binlog mode 'STATEMENT'

Cause

You may encounter this problem if your Crowd MySQL database configuration has the following:

  • Makes use of the InnoDB database storage engine (which is recommended)

    AND

  • Uses MySQL's default binary logging format

Crowd uses the READ-COMMITTED transaction isolation level with MySQL, which currently only supports row-based binary logging. For more information about this, please refer to MySQL issue no. 40360.

Resolution

To overcome this problem, you must configure MySQL's binary logging format to use 'row-based' binary logging.

This is only needed (and valid) for MySQL versions 5.1.5 and later

To do this:

  1. Shutdown Crowd and your MySQL service (if necessary).

  2. Open the MySQL configuration file (my.cnf) in a text editor.

    ℹ️ On UNIX-based systems, this file may be located in the /etc directory.

  3. Locate the binlog_format property in this file in the [mysqld] section and ensure that its value is row, such that you end up with:

    1 binlog_format=row
  4. Save your changes to this file and restart your MySQL service and Crowd

Updated on April 15, 2025

Still need help?

The Atlassian Community is here for you.