OwnCloud 8.0.3 und ein SQL Problem

Heute war meine OwnCloud dran: ein Update auf 8.0.3; Aber irgendwie schien das Update nicht ganz so zu laufen wie es sollte:

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.

Der Grund dazu – die Fehlermeldung interprätierend – muss wohl im binären Log des SQL Servers begraben liegen: Dieses ist standardmäßig offenbar auf STATEMENT während wir für die READ (UN)COMMITTED Anweisungen ein row-logging benötigen. Einfach umzustellen in der my.cnf:

binlog_format = ROW

Nach einem Neustart des MySQL Servers sah die Sache schon besser aus:

Update successful

Author:

5 thoughts on “OwnCloud 8.0.3 und ein 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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert