Ich hatte es vor einigen Tagen fertig gebracht, meinen Blog hier zu zerstören. Nach einem WordPress Update auf Version 2.6 fiel mir auf, dass ich sämtlich Berichte aus dem Backend nicht mehr öffnen geschweige denn bearbeiten konnte.
Zahlreiche Versuche, das Update immer und immer wieder aufzuspielen, brachten keine Lösung. Ich nahm an, dass diverse PlugIns Probleme machen würden. Ich deaktivierte sie, spielte WordPress eben wieder neu auf, aktualisierte alle PlugIns – und der gleiche Fehler trat wieder auf, diesmal bei allen Artikeln.
In meiner Verzweiflung dachte ich, es würde an der Datenbank liegen. Da ich eh schon alles verloren glaubte, obwohl sich die Seite nach wie vor anzeigen ließ… Verzweiflung eben…, beschloss ich, einen Datenbank-Dump durchzuführen und anschließend mein einige Tage altes Backup aufzuspielen. Bei meiner Joomla-Seite klappte dies schließlich immer ganz gut.
Nach dem Datenbank-Dump klappte leider der Import nicht mehr. Die Fehlermeldung war, dass keine Datenbank erstellt werden können, da sie bereits existiere. Hm…. OK. Ich öffnete die SQL-Datei aus dem Backup-Archiv mit dem normalen Texteditor, löschte eben diesen kompletten Befehl
CREATE DATABASE `Datenbankname` DEFAULT CHARACTER SET latin1 COLLATE latin1_german2_ci;
USE Datenbankname;
…speicherte anschließend die Textdatei wieder zurück, drauf achtend, dass die Kodierung utf-8 ist (ist beim Speichervorgang als Option voreingestellt) und packte sie wieder in das .gz-Archiv. Der Import klappte immer noch nicht. Man verwies auf Syntax-Fehler des Befehls. Nach ewigem systematischen herumprobieren, simulieren und vergleichen stellte ich fest: Es kann nur an der Kodierung liegen. Und es war so. Was auch immer der Standard-Windows-Texteditor als UTF-8 versteht, es ist wohl etwas anderes, als das, was z.B. phpmyadmin von ohost.de will.
Die Lösung:
- öffne die (i.d.R. gezipte) SQL Datei des Backups mit dem Windows Texteditor
- kopiere den Inhalt mit Copy & Paste in den Windows WordPad. Die Datei wirkt nun strukturierter.
- Lösche hier besagte Zeile (Create…)
- Kopiere den kompletten WordPad-Text
- geh ins phpmyadmin
- Füge dort ins SQL Feld direkt den Inhalt wieder ein
- Senden
Sollte funktionieren.
Generell sollte beim Exportieren darauf geachtet werden, dass nicht die komplette Datenbank, sondern die einzelnen Tabellen exportiert werden. Dann entsteht auch nicht die Zeile: Create …