Crowd Doesn't Start if Using MySQL with Binary Logging
Symptoms
Crowd with a MySQL database generates an error similar to the following:
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:
- Shutdown Crowd and your MySQL service (if necessary).
- Open the MySQL configuration file (
my.cnf
) in a text editor.On UNIX-based systems, this file may be located in the
/etc
directory. Locate the
binlog_format
property in this file in the[mysqld]
section and ensure that its value isrow
, such that you end up with:binlog_format=row
- Save your changes to this file and restart your MySQL service and Crowd