Zum Inhalt

Piwik Upgrade von Version 2 auf 3 schlägt wegen MySQL Problemen fehl

Wenn ihr euer Piwik 2 auf Version 3 upgraden wollt lauft ihr unter Umständen in Probleme beim Updaten der MySQL Datenbank rein und der Prozess bricht ab. Dies wird durch eine fehlende Tabelle und eine fehlende Spalte in einer Tabelle verursacht. Hier ist ein Beispiel, wie man das Problem lösen kann, basierend auf einer Piwik 2 Installation auf einem Server mit Plesk 17. Wie immer, denkt daran, dass ihr ein Backup von eurer Datenbank macht, bevor ihr darin händisch etwas verändert.

Die erste Fehlermeldung, die ihr bekommt lautet:

Kritischer Fehler während der Aktualisierung:
SQLSTATE[42S02]: Base table or view not found: 1146 Table ‚piwik_d.plugin_setting‘ doesn’t exist

Diese kann man lösen, in dem man die Tabelle manuell in der MySQL Datenbank erzeugt:

CREATE TABLE plugin_setting (
plugin_name VARCHAR(60) NOT NULL,
setting_name VARCHAR(255) NOT NULL,
setting_value LONGTEXT NOT NULL,
user_login VARCHAR(100) NOT NULL DEFAULT '',
INDEX(plugin_name, user_login)
) ENGINE=Innodb DEFAULT CHARSET=utf8

Wenn man danach den Upgrade Prozess noch einmal antriggert, erfolt eine zweite Fehlermeldung:

Kritischer Fehler während der Aktualisierung:
SQLSTATE[42S22]: Column not found: 1054 Unknown column ‚plugin_name‘ in ‚where clause‘

Da sich in meinem Fall keine Daten in der Tabelle befanden, konnte ich die Tabelle komplett droppen und einfach neu erzeugen:

CREATE TABLE site_setting (
idsite INTEGER(10) UNSIGNED NOT NULL,
plugin_name VARCHAR(60) NOT NULL,
setting_name VARCHAR(255) NOT NULL,
setting_value LONGTEXT NOT NULL,
INDEX(idsite, plugin_name)
) ENGINE=INNODB DEFAULT CHARSET=utf8

Falls sich Daten in der Tabelle befinden sollte, versucht die Spalte plugin_name manuell zu erzeugen, um das Problem zu beheben.

Das Upgrade sollte jetzt durchlaufen und danach könnt ihr Piwik 3 benutzen.

Published inHow-ToSoftware

Schreibe den ersten Kommentar

Schreibe einen Kommentar