2017-11-14 4 views
1

EDIT: Ich hätte diesen Beitrag auf ServerFault erstellt werden, falsche Registerkarte, sorry.Zabbix Upgrade - Datenbank Upgrade fehlgeschlagen

Ich versuche heute, meinen Zabbix Server zu aktualisieren (MySQL DB). Aktuelle Version ist 2.4.8, ich möchte es auf 3.4.4 aktualisieren

Installation ging gut. Als ich den zabbix-Server-Prozess zu starten, die Datenbank eines Upgrade startet und stoppt dann mit der folgenden Fehlermeldung:

[Z3005] query failed: [1034] Incorrect key file for table 'alerts'; try to repair it [alter table alerts add p_eventid bigint unsigned] 

Also hörte ich auf zabbix-Server, hatte das „alten table Benachrichtigungen p_eventid Bigint unsigned add“ , neu gestartet zabbix-Server, und jetzt diese Fehlermeldung bekommen:

[Z3005] query failed: [1060] Duplicate column name 'p_eventid' [alter table alerts add p_eventid bigint unsigned] 

die ein bisschen für mich beunruhigend ist, da die Fehlermeldung anders, aber die vorgeschlagene Lösung ist immer noch die gleiche, und bereits getan wurde.

Ich habe einige Nachforschungen gemacht, herausgefunden this ZBX bug report, die nützlich sein können, aber ich habe keine Ahnung, wie Sie die Problemumgehung anwenden, da ich kein Experte in SQL bin. Soweit ich das beurteilen kann, habe ich einen fehlenden Index in der Alarmtabelle (alerts_7). Ich versuchte es mit dem folgenden Befehl zu erstellen, nachdem ein bisschen googeln:

create INDEX on alerts (p_eventid) USING BTREE; 

noch einen Fehler bekam (die zweite).

Jeder hatte diese Situation bereits und fand heraus, wie man es löst?

+0

Dies ist definitiv keine Programmierung Frage, so erhalten Sie eine viel bessere Antwort (wahrscheinlich) auf https://serverfault.com/ oder https://superuser.com/. Ich würde auch ** dringend ** empfehlen, Informationen darüber, wie Sie das Upgrade durchgeführt haben. Wenn Sie auf Ubuntu (zum Beispiel) laufen, fügen Sie die Befehle hinzu, die Sie verwendet haben (war es über offizielle 'apt'repositories? Etc.) Viel Glück - Ich habe Zabbix seit Jahren verwendet und fand die Upgrade-Pfade sehr zuverlässig auf Debian. Sie können versuchen, in mehreren Durchgängen auf Unterversionen zu aktualisieren (nur ein Vorschlag). – wally

+0

@wally: Du hast völlig Recht, ich hatte 2 Tabs geöffnet, eins hier, eins auf SF, und die Frage in der falschen Registerkarte erstellt, es war ein langer Tag, mein Schlechter. Mein Setup ist ziemlich einfach, ich habe den Zabbix-Server auf einem vm, der DB auf einem anderen. Ich habe eine neue saubere VM mit Ubuntu 16.04 erstellt und Zabbix durch die Pakete installiert. Das alte zabbix vm geschlossen, das neue gestartet, den Prozess gestartet und das DB-Upgrade mit den in meinem ursprünglichen Beitrag erwähnten Fehlern gestartet. – SBO

+0

@SBO kein Problem! – wally

Antwort

0

Schließlich hatte etwas Zeit, um daran zu arbeiten, das Problem war, dass das Tmp-Verzeichnis für den Upgrade-Vorgang zu klein war. Nach dem Ändern des tmp-Pfades in der my.cnf und dem Neustart des Upgrades funktionierte alles wie erwartet!

0

Der Teil in den eckigen Klammern war kein Vorschlag, es war der Befehl, der versucht wurde. Jetzt schlägt es fehl, weil die Spalte bereits existiert.

In diesem Fall könnte es ausreichen, diese Spalte zu löschen und den Zabbix-Server erneut zu starten. Stellen Sie sicher, dass Sie über eine Datenbanksicherung verfügen, bevor Sie mit dem Upgrade beginnen.

+0

Dank Rich, ich dachte, es war eine Empfehlung, mein Schlechter! Werde es morgen nochmal versuchen und es euch wissen lassen. – SBO

Verwandte Themen