OwnCloud 8.0.3 and some SQL problem

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.

Update successful

Author:

5 thoughts on “OwnCloud 8.0.3 and some SQL problem”

  • could you elaborate on your fix?
    Where do I do this:

    “The trick is simple using the my.cnf by setting”

    Thank you!

  • Hi dosch,

    it’s pretty simple: The MySQL Server config file, my.cnf is usually located in /etc or /etc/mysql.

    Find the ‘[mysqld]’ paragraph and add ‘binlog_format = ROW’.

    For making it even more simple, just look for a line saying ‘log-bin’ and add it below that. That way you’ve got it all in place.

  • Ah, that might pose a problem for me. I am on shared hosting and no access to these MySQL files…

    Hopefully there will pop up another solution over at ownCloud community

  • Well.. I do have an idea.

    1) Do a backup of the live system and shut it down (take it offline)
    2) Do a local install using the backup you did in step 1
    3) Modify the SQL config and do the upgrade
    4) Backup the local install
    5) Restore the local install at your host

Leave a Reply

Your email address will not be published. Required fields are marked *