Nextcloud - 4 byte support

    • Offizieller Beitrag

    Schritt eins mit admin rechten einloggen (in MariaDB)

    Code
    sudo mysql -u root --skip-password nextcloud

    dann Fileformat prüfen und gegebenenfalls ändern

    Code
    MariaDB [nextcloud]> SET GLOBAL innodb_file_format=Barracuda;
    Query OK, 0 rows affected (0.00 sec)
    
    MariaDB [nextcloud]> show variables like 'innodb_file_format';
    +--------------------+-----------+
    | Variable_name      | Value     |
    +--------------------+-----------+
    | innodb_file_format | Barracuda |
    +--------------------+-----------+
    1 row in set (0.00 sec)

    muss auf Barracuda stehen. Weiterhin muss folgende ON ergeben

    Code
    MariaDB [nextcloud]> show variables like 'innodb_file_per_table';
    +-----------------------+-------+
    | Variable_name         | Value |
    +-----------------------+-------+
    | innodb_file_per_table | ON    |
    +-----------------------+-------+
    1 row in set (0.00 sec)

    Falls bis hierhin etwas geändert werden musste die DB neu starten (systemctl restart mysql). Tja wat nu das Fileformat ist wieder auf dem alten Wert. Also die Werte müssen in

    olaf_krause@nextcloud:/etc/mysql/conf.d$ sudo vi mysql.cnf

    um permanent zu sein.

    Code
    [mysqld]
    innodb-file-format=barracuda
    innodb-file-per-table=1
    innodb-large-prefix=1

    Dann in der DB noch folgendes setzen

    Code
    ALTER DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

    in der nextcloud config.php

    Code
    'mysql.utf8mb4' mysql.utf8mb4 => true,

    setzen. Danach alle tabellen mit maintenance repair aktualisieren.

    Code
    sudo -u www-data php occ maintenance:repair

    BTW wenn Ihr hier einen php memory error bekommt - prüft mal die php.ini für CLI ich habe da auf 1024M gehen müssen (war auf 512M).

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!