Today my OwnCloud was due to an update to 8.0.3; As I did so, an SQL error hailed me:
Aktualisiere ownCloud auf Version 8.0.3. Dies könnte eine Weile dauern.
An exception occurred while executing ‘ DELETE FROM `oc_lucene_status` WHERE `fileid` IN ( SELECT `fileid` FROM ( SELECT `fileid` FROM `oc_lucene_status` GROUP BY `fileid` HAVING count(`fileid`) > 1 ) AS `mysqlerr1093hack` )’: SQLSTATE[HY000]: General error: 1665 Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED.
The update was unsuccessful. Please report this issue to the ownCloud community.
This is – as the error message suggests – something which has to do with the binary log of the sql server. Per default it’s set to ‘statement’ as OwnCloud Update wants me to have row logging. The trick is simple using the my.cnf by setting
binlog_format = ROW
After restarting the MySQL server we’re fine.