You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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>
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
-
39
23
Configuring a MySQL or MariaDB database
40
24
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
41
25
42
26
If you decide to use a MySQL or MariaDB database, ensure the following:
43
27
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.
45
29
46
-
Verify the **transaction_isolation** and **binlog_format**:
30
+
Verify the **binlog_format**:
47
31
48
32
::
49
33
50
34
[mysqld]
51
35
...
52
-
transaction_isolation = READ-COMMITTED
53
36
binlog_format = ROW
54
37
...
55
38
@@ -84,7 +67,6 @@ Your :file:`/etc/mysql/my.cnf` could look like this:
0 commit comments