thomas-99
(thomas Müller)
February 2, 2022, 8:47am
1
PHP 7.4.24
10.1.48-MariaDB-0+deb9u2 - Debian 9.13
Hallo Zusammen,
ich wollte das Update 4.6.2 → 4.7 durchführen und erhalte folgenden Fehler:
web/core/Updates/4.7.0-b2.php: Error trying to execute the migration 'ALTER TABLE `matomo_changes` ADD UNIQUE KEY unique_plugin_version_title (`plugin_name`, `version`, `title`);'. The error was: SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
Hat jemend eine Lösung dafür? Ich verstehe den Fehler grundsätzlich, leider hat meine Änderung nicht geholfen.
DANKE
Ciao thomas
Ich habe das gleiche Problem – und andere offensichtlich auch: Critical error while upgrading to 4.7.0
ronan_hello
(Ronan HELLO (Openmost))
February 2, 2022, 9:33am
3
Hallo !
Ich habe eine Lösung gefunden, indem ich die Grenzlänge des Schlüssels durch Ausführen eines einfachen SQL-Befehls geändert habe.
Sie müssen sich mit CLI mit Ihrem MYSQL verbinden
MYSQL -u <user> -p
Wählen Sie dann Ihre Datenbank aus und führen Sie diesen Befehl aus:
USE matomo
Führen Sie dann diese Befehlszeile aus, um die Beschränkung zu erhöhen
SET @@global.innodb_large_prefix = 1;
Und zurück zu Ihrer Matomo-Installation und führen Sie das DB-Update aus!
Es hat das Problem gelöst
Ronan HELLO
MSP
(Martin)
February 2, 2022, 9:41am
4
Bei Root-Servern ist das möglich ,bei shared Hosts nicht so ohne Weiteres ausführbar. Dafür sind SUPER privileges notwendig.
ronan_hello
(Ronan HELLO (Openmost))
February 2, 2022, 9:44am
5
Vielleicht können Sie versuchen, Ihre Datenbank herunterzuladen, sie mit dieser Befehlszeile auf Ihrem eigenen Computer zu aktualisieren und diese Datenbank dann erneut hochzuladen? Es wird die Beschränkung von Ihrem Webhost passieren.
(Eigentlich nicht die beste, aber immerhin eine Lösung)
Ich bin mit der Kommandoziele nicht so firm. Kann ich diesen Befehl so auch in phpMyAdmin ausführen?
MSP
(Martin)
February 2, 2022, 9:48am
7
ronan_hello:
innodb_large_prefix
Ja, wenn der Benutzer in phpMyAdmin auf dem System Superuser-Rechte besitzt
ronan_hello
(Ronan HELLO (Openmost))
February 2, 2022, 9:51am
8
Ja, wenn Ihr Benutzer keine Rechte hat, sehen Sie einen Fehler in PHPMyAdmin, aber Sie können es trotzdem versuchen.
Wie lautet dann der genaue SQL-Befehl in phpMyAdmin?
MSP
(Martin)
February 2, 2022, 9:59am
10
im Query-Fenster das SET… eingeben und absenden. Wenn es keinen Fehler gibt, hat es geklappt, ansonsten kommt etwas wie “Superprivileges needed”
2 Likes
Lukas
(Lukas Winkler)
February 2, 2022, 10:45am
11
Hallo,
Das klingt nach demselben Bug wie
opened 07:11AM - 02 Feb 22 UTC
closed 09:14AM - 03 Feb 22 UTC
Bug
not-in-changelog
Regression
## Expected Behavior
Updating to 4.7.0-b2 via Webupdater shouldnt be a thing
…
## Current Behavior
Fatal error:
`matomo/core/Updates/4.7.0-b2.php: Error trying to execute the migration 'ALTER TABLE `matomo_changes` ADD UNIQUE KEY unique_plugin_version_title (`plugin_name`, `version`, `title`);'. The error was: SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes`
## Possible Solution
I guess it works with MySQL 5.7, but as 5.5 is still supported in general, it should work
Ich werde mich hier melden, wenn mehr dazu bekannt ist.