[Eisfair_dev] [E1] Probleme mit neu installiertem EISFair und MariaDB 102

Marcus Roeckrath marcus.roeckrath at gmx.de
So Aug 12 16:04:45 CEST 2018


Hallo Boris,

B. Sprenger wrote:

>> 1. Welchen Tabellentyp hat Inhalt in der Oelstand-DB? MyIsam oder InnoDB.
>> 
>> Kannst du z. B. mit phpmyadmin55 festestellen. Dort anmelden, links die
>> Oelstand-DB anklicken, dann erscheint rechts eine Übersicht über die
>> Tabellen der DB und da steht dann auch in der Zeile mfür die Tabelle
>> Inhalt deren Typ.
> In dieser Zeile steht dann InnoDB.
> (mariadb102)
> Alle meine Datenbanken sind von diesem Typ.

Tabellen nicht Datenbanken.

Und da haben wir den Fehler! Und der Fehler ist 2015 passiert!

Das was als MYD/MYI-Dateien unter /srv/mysql/102/Oelstand zu finden ist,
sind Myisam-Tabellen und keine InoDB-Tabellen.

Ich vermute mal, dass die DB vor 2015 mal mit Myisam-Tabellen gefüttert
wurde, dann aber auf Innodb-Tabellen umgestellt wurde.

Jetzt kommt es zu einem Konflikt, dass es die Tabelle Inhalt sowohl als
Myisam (Daten bis 2015) und Innodb (a 2015) gab.

Im normalen Betrieb scheint nun zum Speichern die neuere Innodb-Tabelle
benutzt worden zu sein, aber das Backup hat ein backup der Myisam-Tabelle
angelegt, was du dann in mariadb102 eingespielt hast.

Und nun hast du in der mariadb102 wieder das gleiche Chaos, denn du hast
wieder diese .MYD/.MYI-Dateien und gleichzeitig eine Innodb-Tabelle.

Um da für die Zukunft Probleme auszuschliessen, würde ich die ganze DB
löschen und neu anlegen.

Nach Löschen der DB auch dann das DB-Verzeichnis Oelstand vor Neuanlegen der
DB löschen.

InnoDB-Tabellen werden entweder in der ibdata1-Datei
des /srv/mysql/102-Verzeichnisses (gemeinsame Datei für InnoDB-Tabellen
verschiedener Datenbanken) oder im Verzeichnis einer Datenbank
als .ibd-Dateien gespeichert.

>> 3. Wie wurde die DB und die Tabelle angelegt? Manuell per Software? Mit
>> welchen Befehlen?
> Puh, du fragst Sachen, die ich vor über 4 Jahren gemacht habe. Wenn ich
> mich recht erinnere, habe ich die Tabelle händisch mit phpmyadmin angelegt

Und genau da hast du Anfang 2015 einen Fehler gemacht, der sich nun gerächt
hat.

>> 4. Wurde ein Update der Datenbank Oelstand irgendwann 2015 durchgeführt?
>> Wurde dabei eine Änderung der DB-Struktur gemacht?
> Nicht dass ich wüsste. Auszuschliessen ist das aber nicht, da irgendwann
> zusammen mit dem Füllstand die aktuelle Aussentemperatur in die
> Datenbank geschrieben wurde.

Der Wechsel von Myisam zu InnoDB geht nicht ohne Strukturänderung.

> Wenn du da Zweifel hast: Es sind ja alle Werte ausser die von 2014/2015
> weg. Ich könnte also auch die Datenbank löschen und komplett neu beginnen.
> Der Verlust der 2014-er Werte wäre verschmerzbar.

Ich würde die DB komplett sauber neu anlegen.

Wenn dir die Werte von vor 2015 wichtig sind, kannst du die ja vorher (kein
Backup) in phpmyadmin exportieren und danach wieder einlesen.

> Bin übrigens gerade dabei ein Backup einzurichten.
> Habe mich Backup-Zip entschieden, da ich hier Windows-Freigaben angeben
> kann. Ich habe zu Backup-Zwecken eine WIN-Maschine im Netz mit grossen
> Festplatten.
> Ein Testbackup läuft gerade.
> Ich hatte allerdings etwas Schwierigkeiten mit dem automatischen Mount.
> Das hat nicht funktioniert.
> Es gehört jetzt eigentlich nicht hierher

Bitte mach dazu einen neuen Thread auf.

-- 
Gruss Marcus


Mehr Informationen über die Mailingliste Eisfair_dev