Nextcloud – Enabling MySQL 4-byte support

Die Aktivierung des 4byte Supports in meiner MariaDB hat ein kleines Problem aufgeworfen.

Zuerst habe ich die offizielle Nextcloud-Anleitung befolgt, welche auch bis zum Repair-Befehl wunderbar funktioniert hat.
https://docs.nextcloud.com/server/16/admin_manual/configuration_database/mysql_4byte_support.html

Aber anstatt die erforderlichen Änderungen in der Datenbank vorzunehmen wurden mir die folgenden Fehler ausgegeben:

In AbstractMySQLDriver.php line 125:

An exception occurred while executing ‚ALTER TABLE `oc_addressbooks` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;‘:

SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes

In PDOStatement.php line 143:

SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes

In PDOStatement.php line 141:

SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes

MariaDB - 4-byte support
MariaDB – 4-byte support

Nach ein wenig Suchen bin ich auf die folgende kurze Anleitung gestoßen, die bei mir geholfen hat:

$ sudo mysql -u root -p
MariaDB [(none)]> use nextcloud;
MariaDB [nextcloud]> set global innodb_large_prefix=on;
MariaDB [nextcloud]> set global innodb_file_format=Barracuda;
$ sudo -u www-data php occ maintenance:repair


https://help.nextcloud.com/t/solved-syntax-error-or-access-violation-1071-specified-key-was-too-long-max-key-length-is-767-bytes/34740

Leider hing meine Nextcloud-Instanz nach der Anpassung im Maintenance-Mode fest:

Maintenance Mode
Maintenance Mode

Den Maintenance Mode kann man jedoch ganz einfach beenden, um Nextcloud wie gewohnt zu nutzen.

Zuerst einmal geht man in das Installationsverzeichnis von Nextcloud, z.B.

cd /var/www/html/nextcloud

dann beendet man den Maintenance Mode mit dem Befehl:

sudo -u www-data php occ maintenance:mode --off

Die vollständige Dokumentation der occ-Befehle gibt es hier:
https://docs.nextcloud.com/server/16/admin_manual/configuration_server/occ_command.html#

Nach der Umstellung der Datenbank auf 4byte-Support ist unbedingt die Datensicherung eurer Nextcloud-Instanz zu prüfen. Im offiziellen Nextcloud Manual gibt es einen entsprechenden Hinweis dazu.
https://docs.nextcloud.com/server/15/admin_manual/configuration_database/mysql_4byte_support.html

Eine Antwort auf „Nextcloud – Enabling MySQL 4-byte support“

  1. Habe den Fehler auf einem PC beim Update von 18.0.2 auf 18.0.3 gehabt und die obige Hinweise haben mir geholfen.Danke, dass du dir die Mühe gemacht hast, deine Lösungsschritte so zu dokumentieren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert