====== 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
Der docker-compose.yml Abschnitt der Datenbank kann so aussehen:\\
db:
image: mariadb:11.8
container_name: nextcloud-test-db
restart: unless-stopped
environment:
MARIADB_ROOT_PASSWORD_FILE: /run/secrets/db_root_password
MARIADB_DATABASE: nextcloud
MARIADB_USER: nextcloud
MARIADB_PASSWORD_FILE: /run/secrets/db_user_password
MARIADB_AUTO_UPGRADE: "1"
networks:
- testcloud-network
volumes:
- db:/var/lib/mysql
- ./my-mariadb-settings:/etc/mysql/conf.d:ro
secrets:
- db_root_password
- db_user_password
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 =====
hier einige Erfahrungen aus meiner Testinstanz:
Administrative Einstelliungen:
Datenbanküberprüfungen:
* Es werden etliche Informationen und Warnungen ausgegeben, vor allem bei den Datenbanküberprüfungen. \\ Beispiel: Replica lag: Obwohl keine Replikation eingerichtet wurde, wird diese Warnung ausgegeben (A configured replica is not running). Das ist offensichtlich eine Falschmeldung des Nextcloud Überprüfungsprogrammes.
App-Aktivierungen
Es werden unheimlich viele APPS aktiviert, daher sollte man prüfen, welche man wirklich benötigt.