Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 60a65d7

Browse files
committedAug 24, 2022
No need to change the default transaction isolation level globally on a server
At least since Nextcloud 8.1 this is automatically set on each DB connection (cf. nextcloud/server@bcf65d9). Signed-off-by: Sven Strickroth <email@cs-ware.de>
1 parent c1271d7 commit 60a65d7

File tree

3 files changed

+3
-30
lines changed

3 files changed

+3
-30
lines changed
 

‎admin_manual/configuration_database/linux_database_configuration.rst

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -20,36 +20,19 @@ requires that you install and set up the server software first.
2020
scope of this document. Please refer to the documentation for your specific
2121
database choice for instructions.
2222

23-
.. _db-transaction-label:
24-
25-
Database "READ COMMITTED" transaction isolation level
26-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
27-
28-
As discussed above Nextcloud is using the ``TRANSACTION_READ_COMMITTED`` transaction isolation
29-
level. Some database configurations are enforcing other transaction isolation levels. To avoid
30-
data loss under high load scenarios (e.g. by using the sync client with many clients/users and
31-
many parallel operations) you need to configure the transaction isolation level accordingly.
32-
Please refer to the `MySQL manual <https://dev.mysql.com/doc/refman/5.7/en/set-transaction.html>`_
33-
for detailed information.
34-
35-
Parameters
36-
----------
37-
For setting up Nextcloud 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 Nextcloud instance to a database created by a previous installation of Nextcloud), some modification might be required.
38-
3923
Configuring a MySQL or MariaDB database
4024
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4125

4226
If you decide to use a MySQL or MariaDB database, ensure the following:
4327

44-
* The transaction isolation level is set to "READ-COMMITTED" in your MariaDB server configuration :file:`/etc/mysql/my.cnf` to persist even after a restart of your database server.
28+
* The **binlog_format** is set to "ROW" or "MIXED" ("MIXED" is the default since MariaDB 10.2.4) in your MariaDB server configuration :file:`/etc/mysql/my.cnf` to persist even after a restart of your database server.
4529

46-
Verify the **transaction_isolation** and **binlog_format**:
30+
Verify the **binlog_format**:
4731

4832
::
4933

5034
[mysqld]
5135
...
52-
transaction_isolation = READ-COMMITTED
5336
binlog_format = ROW
5437
...
5538

@@ -84,7 +67,6 @@ Your :file:`/etc/mysql/my.cnf` could look like this:
8467
[mysqld]
8568
character_set_server = utf8mb4
8669
collation_server = utf8mb4_general_ci
87-
transaction_isolation = READ-COMMITTED
8870
binlog_format = ROW
8971
innodb_large_prefix=on
9072
innodb_file_format=barracuda

‎admin_manual/configuration_server/security_setup_warnings.rst

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -124,11 +124,3 @@ Some files have not passed the integrity check
124124
----------------------------------------------
125125

126126
Please refer to the :ref:`code_signing_fix_warning_label` documentation how to debug this issue.
127-
128-
Your database does not run with "READ COMMITED" transaction isolation level
129-
---------------------------------------------------------------------------
130-
131-
"Your database does not run with "READ COMMITED" transaction isolation level.
132-
This can cause problems when multiple actions are executed in parallel."
133-
134-
Please refer to :ref:`db-transaction-label` how to configure your database for this requirement.

‎admin_manual/installation/system_requirements.rst

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,7 @@ Database requirements for MySQL / MariaDB
5454
The following is currently required if you're running Nextcloud together with a MySQL / MariaDB database:
5555

5656
* InnoDB storage engine (MyISAM is not supported)
57-
* "READ COMMITED" transaction isolation level (See: :ref:`db-transaction-label`)
58-
* Disabled or BINLOG_FORMAT = ROW configured Binary Logging (See: https://dev.mysql.com/doc/refman/5.7/en/binary-log-formats.html)
57+
* Disabled, BINLOG_FORMAT = ROW or BINLOG_FORMAT = MIXED configured Binary Logging (See: https://dev.mysql.com/doc/refman/5.7/en/binary-log-formats.html)
5958
* For **Emoji (UTF8 4-byte) support** see :doc:`../configuration_database/mysql_4byte_support`
6059

6160
Desktop client

0 commit comments

Comments
 (0)
Please sign in to comment.