====== 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.