. .

Inkonsistente MYSQL-Datenbanken reparieren

Inkonsistente Datenbanken führen bei Standard-Software wie CMS-System und auch Adservern immer wieder zu größten Problemen wenn es darum geht diese zu upgraden. Die Ursachen liegen meist in fehlerhaften Upgrade-Scripten und von Version zu Version erhält man letztendlich eine Datenbank die überflüssige Felder enthält oder bei der der eine oder andere Indix fehlt. Größte Probleme bereitete mir vor nicht allzulanger Zeit der Umstieg von OpenX 2.4.4 auf 2.5 beta denn das Datenbanklayout meiner 2.4.4 entsprach an einigen Stellen nicht der Vorstellungen des Upgrade-Scripts. Da auch regelmäßig die Nutzer des Blogsystems Wordpress bei den täglichen Updates mit solchen Problemen zu kämpfen haben möchte ich einmal allgemein zeigen wie man hoffentlich problemlos durch solche Updates kommt:

1. Installiere eine frische Version des zu updatenden Systems in der vermeintlich laufenden Version in eine neue Datenbank.
2. Lade MYSQLdiff von http://www.mysqldiff.org/ oder ein ähnliches Diff-Tool herunter und vergleiche die beiden Datenbanken. Das Tool erzeug ein SQL File um das Layout der Live-Datenbank in das Layout der frischen Installation zu überführen.
3. Mache ein Backup der Live-Datenbank.
4. Bringe die Live-Datenbank mit den vom Diff-Tool erzeugten SQL-Statements auf das korrekte Datenbank-Layout.

Mit der nun vorhandenen konsistenten Datenbank sollte das Update auf die neue Version keine Probleme machen - seidenn das Upgrade-Script selbst ist fehlerhaft.

Aktualisiert am 28. April 2008
Kategorie Technik