Zum Inhalt

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.

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

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

Leider stoppte meine Nextcloud-Instanz nach der Anpassung im 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:

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.

Codeberg

Dein Weg zur eigenen Nextcloud

Gib mir gerne einen Kaffee ☕ aus ❗️

Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕️ ausgeben.

Donation via PayPalDonation via LiberaPay

Donation via Bitcoin
Bitcoin Address: bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj