diff --git a/admin_manual/configuration_database/linux_database_configuration.rst b/admin_manual/configuration_database/linux_database_configuration.rst index c1c5bf79c..2ad65c85e 100644 --- a/admin_manual/configuration_database/linux_database_configuration.rst +++ b/admin_manual/configuration_database/linux_database_configuration.rst @@ -17,6 +17,37 @@ Choosing to use MySQL / MariaDB, PostgreSQL, or Oracle as your database requires .. note:: The steps for configuring a third party database are beyond the scope of this document. Please refer to the documentation for your specific database choice for instructions. +.. _db-binlog-label: + +MySQL / MariaDB with Binary Logging Enabled +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +ownCloud is currently using a ``TRANSACTION_READ_COMMITTED`` transaction isolation +to avoid data loss under high load scenarios (e.g. by using the sync client with +many clients/users and many parallel operations). This requires a disabled or +correctly configured binary logging when using MySQL or MariaDB. Your system is +affected if you see the following in your log file during the installation or +update of ownCloud: + + An unhandled exception has been thrown: + exception 'PDOException' with message '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.' + +There are two solutions. One is to disable binary logging. Binary logging +records all changes to your database, and how long each change took. The +purpose of binary logging is to enable replication and to support backup +operations. + +The other is to change the BINLOG_FORMAT = STATEMENT in your database +configuration file, or possibly in your database startup script, to +BINLOG_FORMAT = MIXED. See `Overview of the Binary +Log `_ and `The +Binary Log `_ for +detailed information. + Parameters ---------- For setting up ownCloud to use any database, use the instructions in :doc:`../installation/installation_wizard`. You should not have to edit the respective values in the :file:`config/config.php`. However, in special cases (for example, if you want to connect your ownCloud instance to a database created by a previous installation of ownCloud), some modification might be required. diff --git a/admin_manual/installation/linux_installation.rst b/admin_manual/installation/linux_installation.rst index 87f168cdc..62163c1bd 100644 --- a/admin_manual/installation/linux_installation.rst +++ b/admin_manual/installation/linux_installation.rst @@ -70,4 +70,7 @@ options. **Running ownCloud in a subdir**: If you're running ownCloud in a subdir and want to use CalDAV or CardDAV clients make sure you have configured the correct -:ref:`service-discovery-label` URLs. \ No newline at end of file +:ref:`service-discovery-label` URLs. + +**Note for MySQL/MariaDB environments**: Please refer to :ref:`db-binlog-label` +on how to correctly configure your environment if you have binary logging enabled. \ No newline at end of file diff --git a/admin_manual/maintenance/upgrade.rst b/admin_manual/maintenance/upgrade.rst index b65b75386..9be86d88b 100644 --- a/admin_manual/maintenance/upgrade.rst +++ b/admin_manual/maintenance/upgrade.rst @@ -260,17 +260,7 @@ enabled, your upgrade may fail with these errors in your MySQL/MariaDB log:: to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED.' -There are two solutions. One is to disable binary logging. Binary logging -records all changes to your database, and how long each change took. The -purpose of binary logging is to enable replication and to support backup -operations. - -The other is to change the BINLOG_FORMAT = STATEMENT in your database -configuration file, or possibly in your database startup script, to -BINLOG_FORMAT = MIXED. See `Overview of the Binary -Log `_ and `The -Binary Log `_ for -detailed information. +Please refer to :ref:`db-binlog-label` on how to correctly configure your environment. Occasionally, *files do not show up after a upgrade*. A rescan of the files can help::