Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Upgrade auf Nextcloud 35.0.0
MariaDB
Ich benutze MariaDB 11.8. mit Docker compose. Nextcloud 35 hat zwar auch die neue MariaDB-12.3-LTS-Unterstützung aufgenommen, aber daraus ergibt sich kein unmittelbarer Grund, eine funktionierende 11.8-Installation gleichzeitig mit dem Nextcloud-Upgrade umzustellen.
Folgenden Parameter kann ich entfernen (ist in 11.8 bereits Standard)
- --innodb-read-only-compressed=OFF
Weiters können folgende Parameter wegfallen
query_cache_size query_cache_type innodb_large_prefix innodb_file_format Auch diesen Parameter kann man weglassen: innodb_flush_log_at_trx_commit = 2
Ergänzen in command:
innodb_file_per_table=1
Am Besten ist es allerdings, eine eigene Konfigurationsdatei anzulegen. So könnte eine Filestruktur für MariaDB mit Nextcloud aussehen:
nextcloud-test/
├── docker-compose.yml
├── my-mariadb-settings/
│ └── 50-nextcloud.cnf
└── secrets/
├── db_root_password.txt
└── db_user_password.txt
eventuell ergänzen: Slow Query log
# ------------------------------------------------------------ # Slow Query Log # ------------------------------------------------------------ slow_query_log = ON slow_query_log_file = /var/lib/mysql/slow-query.log long_query_time = 2 log_output = FILE
Meine mariadb-settings/50-nextcloud.cnf sieht beispielsweise folgendermaßen aus:
[mariadb] # ------------------------------------------------------------ # Nextcloud 35 / MariaDB 11.8 # ------------------------------------------------------------ transaction_isolation = READ-COMMITTED binlog_format = ROW # ------------------------------------------------------------ # InnoDB # ------------------------------------------------------------ innodb_buffer_pool_size = 256M innodb_file_per_table = 1 innodb_log_file_size = 256M # ------------------------------------------------------------ # Table Cache # ------------------------------------------------------------ table_open_cache = 8000 table_definition_cache = 8000 # ------------------------------------------------------------ # Zeichensatz # ------------------------------------------------------------ character_set_server = utf8mb4 collation_server = utf8mb4_bin # ------------------------------------------------------------ # Slow Query Log # ------------------------------------------------------------ slow_query_log = ON slow_query_log_file = /var/lib/mysql/slow-query.log long_query_time = 2 log_output = FILE
Die von MariaDB eingelesenen Parameter kann man auslesen:
docker compose exec db my_print_defaults --mariadbd Die tatsächlich aktiven Werte kann man kontrollieren: docker compose exec db mariadb -uroot -p -e " SHOW VARIABLES WHERE Variable_name IN ( 'transaction_isolation', 'binlog_format', 'innodb_buffer_pool_size', 'innodb_file_per_table', 'character_set_server', 'collation_server', 'slow_query_log', 'slow_query_log_file', 'long_query_time', 'log_output' ); "
Slow Query log testen (sollte auf ON sein)
docker compose exec db mariadb -uroot -p -e " SHOW VARIABLES LIKE 'slow_query_log'; "
Nextcloud 35
Es werden unheimlich viele APPS aktiviert, daher sollte man prüfen, welche man wirklich benötigt.