Irgendwann ist es immer das erste Mal und so hatte ich das Vergnügen in den letzten Tagen einige Blogs von MySQL 4.0.24 auf MySQL 5 umstellen zu lassen. Natürlich macht man einen Backup. Dazu habe ich phpmyadmin verwendet.
Dummerweise habe ich unter 4.0.24, obwohl ich die Blogs mit UTF-8 betrieben habe nie die richtige Kollation bzw. den richtigen Zeichensatz eingestellt. Das äußert sich dann dadurch, dass nach der Umstellung leider alle Umlaute etwas kryptisch anmuten. Dem kann aber abgeholfen werden und so schwer ist es nicht.
Auf perun.net gibt es eine sehr schöne Anleitung. Da ich jedoch faul bin habe ich mir das Ganze noch etwas automatisiert.
Was ist zu tun?
Zunächst entlädt man die Datenbank (bspw. mit phpmyadmin). Dabei sollte man auf jeden Fall die Option „drop tables…“ aktivieren, da man sonst beim einspielen die Tabellen von Hand löschen muss. In der so gewonnenen Datei werden jetzt die fehlerhaften Umlaute, sowie der Zeichensatz ausgetauscht. welche Zeichen wie ausgetauscht werden müssen wurde auf konzentrat.org beschrieben. Wie man den Zeichensatz austauschen muss habe ich auf texto.de gefunden.
Den Vorgang habe ich ein wenig automatisiert und in ein kleines Shellskript gepackt.
#!/bin/bash
replace CHARSET=latin1 CHARSET=utf8 -- $1
replace ü ü ä ä ö ö -- $1
replace Ãœ Ü Ã„ Ä Ã– Ö ÃŸ ß -- $1
bzip2 $1
Das Skript tauscht sowohl den Zeichensatz, als auch die Umlaute aus und komprimiert das Ganze im Anschluss. Als Parameter übergibt man den Dateinamen der zuvor heruntergeladenen SQL Datei.
Als letzten Schritt bleibt jetzt noch die gezippte Datei wieder mittels phpmyadmin in die Datenbank zu importieren. Bei mir hat das wunderbar geklappt. Dennoch empfehle ich auf jeden Fall ein separates Backup vor zu halten und übernehme keine Haftung bei Anwendung dieser Anleitung.
Pingback: Nach MySQL-Update die Umlaute korrekt darstellen « startafire
Pingback: Neues mySQL, neue Arbeit! :: frank huncks blog :: selent
Pingback: fhu's weblog » Neues mySQL, neue Arbeit! aus Selent, Kreis Plön, SH