Nach dem Upgrade auf die Nextcloud 15.07 hatte ich wieder eine unerwartete Fehlermeldung. Höchstwahrscheinlich kam diese sogar schon mit der vorherigen Version 15.06, was ich zu dieser Zeit nicht bemerkt hatte.
MySQL wird als Datenbank verwendet, unterstützt jedoch keine 4-Byte-Zeichen. Um beispielsweise 4-Byte-Zeichen (wie Emojis) ohne Probleme mit Dateinamen oder Kommentaren verarbeiten zu können, wird empfohlen, die 4-Byte-Unterstützung in MySQL zu aktivieren. Für weitere Details lesen bitte die Dokumentationsseite hierzu.
Der Lösungsansatz hängt hierbei ganz stark vom System ab, auf dem die Nextcloud installiert wurde. In meinem Fall ist das ein Debian 9 mit MariaDB 10.1.
Hierzu öffnet man die Konfiguration zu MariDB
1 |
# nano /etc/mysql/my.cnf |
und erweitert diese um folgenden Eintrag.
1 2 3 4 |
[mysqld] innodb_large_prefix=true innodb_file_format=barracuda innodb_file_per_table=1 |
Der MariDB-Service muss neu gestartet werden.
1 |
# service mariadb restart |
Nun kann die Datenbank für zukünftige Einträge vorbereitet werden.
1 |
# sudo mysql -u root |
1 |
> ALTER DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; |
1 |
> quit |
Jetzt wechselt man in das Hauptverzeichnis der Nextcloud.
1 |
# cd /var/www/html/nextcloud |
Die Konfiguration wird auf mysql.utf8mb4 geändert.
1 |
# sudo -u www-data php occ config:system:set mysql.utf8mb4 --type boolean --value="true" |
Alle existierenden Tabellen werden nun auf die 4-Byte-Unterstützung abgeglichen.
1 |
# sudo -u www-data php occ maintenance:repair |
Unsere Cloud dankt die Änderungen am System mit „Alle Überprüfungen bestanden.“. Diese Anleitung ist übrigens auch für das aktuelle Raspian Stretch 1:1 übertragbar.
Vergesst bitte vorher nicht ein Backup des Systems anzulegen!
Danke Frank!
Gern geschehen. 😉
Super kompetente Anleitung, auch für nicht hochbegabe Linux-Admins.
Vielen Dank.
Bei mir funktioniert die Anleitung ab dem Punkt „sudo -u www-data php occ config:system:set mysql.utf8mb4 –type boolean –value=“true“, nicht mehr. Meine Konsole sagt nur noch folgendes:“Could not open input file: occ“.
Kann mir da Jemand helfen?
Um welches OS handelt es sich denn?
hat mir sehr geholfen. Vielen HERZLICHEN Dank
Hallo Frank,
vielen Dank für die sehr verständliche Anleitung:)
Ich überlege gerade etwas, da ich meine finale Installation noch nicht gemacht habe.
Wenn ich das Problem bei Nextcloud 4-Byte-Zeichen richtig verstehe, dann könnte man die DB anlegen und die Tabellen- und Spaltenkollation vor der eigentlich Installation von Nextcloud festlegen, oder geht das nicht?
Gruß und Danke
Sven