admartinator.de

“The only problem with Microsoft is they just have no taste. They have absolutely no taste. And I don't mean that in a small way, I mean that in a big way, in the sense that they don't think of original ideas, and they don't bring much culture into their products.” - STEVE JOBS, 1955 - 2011

MySQL 5, mir graut’s vor dir

Bald ist es soweit. Ich komme nicht mehr drum herum, meine Datenbanken auf MySQL 5 zu migrieren. Scheinbar ist der Server des Providers, der die MySQL 4 Installation beherbergt, nicht mehr der Frischeste unter der Sonne. An und für sich ist der Umstieg ja kein großes Problem, wenn da nicht die uralte “latin1_swedish” Kollation wäre, mit der ich seit 2006 meine beiden Blogs betreibe.

“Hä, was will der?” – für Leser, die sich mit so etwas nicht befassen wollen oder müssen (Posterous-User zum Beispiel): wenn man solch eine Konfiguration hat, verwurstet es einem den Zeichensatz, genauer gesagt die Umlaute, wenn man auf “UTF-8″ umsteigt. Und auch wenn man MySQL 5 wechselt, soll es zu solchen Problemen kommen – so meine Nachforschungen.

Wie man die Kollation umstellt, habe ich bereits hier finden können. Auch Plugins gibt es, die einem behilflich sein können. Ich bin jedoch jemand, der auf die Hilfe meiner Leser baut. Habt ihr Erfahrungen, die ihr zum Besten geben könnt? Oder seid ihr gar die MySQL-Cracks, für die das der blanke Witz ist? Danke für eure Tipps!

Related posts:

  1. Das Metaroll-Experiment
  2. WordPress Tipps für Ein- und Umsteiger

Colophon

ad |æd| infml admartinator - SocialMedia Junkie, Tech Blogger, WordPress Freak, Apple Evangelist & Founder of apfelquak. [...]

Syndicate

26 Reaktionen zu „MySQL 5, mir graut’s vor dir

  1. Bei den meisten Installationen hat es bei mir/uns keine Probleme gebracht. Allerdings empfiehlt sich ein Dump der Datenbank zu ziehen bei dem du weißt, dass du ihn in irgend einem Editor mit dem richtigen Encoding öffnen kannst, sodass du das im Zweifelsfall einspielen kannst.

    Grüße Markus

  2. Acky

    In solchen Fällen exportiere ich die Datenbank mit phpMyAdmin. Die sql Datei lade ich in TextMate und ändere dort die Sonderzeichen mit Suchen und Ersetzen (sind ja normalerweise nur 7 verschiedene). Dann importiere ich den Dump wieder in die (neue) Datenbank. Hat bisher immer geklappt (und entspricht dem, was Markus im vorherigen Kommentar gesagt hat).

    • ad

      Ja, so in der Art hätte ich das jetzt auch gemacht.

    • Tungsten

      Das umfasst aber dann nicht Sonderzeichen wie … oder EUR, und von é und È mal ganz zu schweigen. Das hatte ich neulich, da musste meine Datenbank ebenfalls von 4 auf 5 umgebaut werden. Es gibt immer noch einige Sonderzeichen, die nicht migriert sind.

      Vielleicht sollte man sich auf ANSI zurück besinnen und nur noch 7-Bit Zeichen verwenden? *seufz*

  3. Ich wurde vor 14 Tagen ohne Vorwarnung von All Incl über Nacht auf Version 5 zwangsportiert. Natürlich war ich erst einmal ganz schön platt – aber: Alle 14 Datenbanken (90% WordPress) verrichten anstandslos ihren Dienst. 2-3 Plugins versagten ihren Dienst, sonst war alles gut.
    Auch wenn ich immer noch vor mich hinstaune, lediglich Mint hat sich in zwei Installationen mächtig aufgehangen – und genau da solltest du vielleicht schauen, da du ja hier Mint und WP zusammen huscheln lässt :D .

    • ad

      Mint habe ich in einer separaten DB und schon auf MySQL 5 migriert. Das war sozusagen mein Versuchskaninchen.

  4. Herr Chow

    Bin bei all-inkl.com auf Version 5 umgestiegen, ohne jegliche Probleme, auch nicht bei Mint. Allerdings benutze ich nicht WordPress als Redaktionssystem.

  5. Das passt schon und kann nur besser werden.
    Ich habe auch noch den einen oder anderen Artikel parat. Je nach Größe deiner DB, nutze mysqlDumper, alles andere sollte gehen.

  6. Michael

    Die Daten kannst du ja problemlos in latin1_swedish belassen. Wenn du die Daten als UTF-8 abholen willst (SET NAMES) konvertiert MySQL automatisch zwischen den Kodierungen. Eine gute Erklärung findest du bei Köhntopp.

  7. Also rein theoretisch sollte nichts böses passieren, wenn hinten dran die Datenbank umgestellt wird. Verwende auch immer noch latin1_swedish und bin auf MySQL 5 … WordPress kommt damit jedenfalls bei mir zurecht ;-)

    Grüße

  8. Im Codex gibt es eine sehr gute Seite für genau dein Problem:

    http://codex.wordpress.org/Con.....acter_Sets

  9. Ich hatte mir dazumal, als ich das selbe Problem hatte, ein PHP Skript gemacht, welches durch alle Tabellen ging und die Umlaute korrekt ersetzte.

  10. Uuuua! Genau DAS wären die Inhalte meiner schlaflosen Träume! Dieses absolut ungute Gefühl hinsichtlich einer datenbankrelevanten “Veränderung”! Genau deshalb bin ich zu posterous gewechselt.
    Aber ich gebe ja zu, dass ich von WordPress einfach zu wenig Ahnung hatte bzw. zu impulsiv damit umgegangen bin! ;-)

  11. Oje, das hatte ich vor ein paar Wochen auch vor mir. Nach der Umstellung waren dann die Umlaute weg. Irgendwo im Web habe ich dann einen guten SQL Befehl gefunden, der alles wieder in Ordnung brachte.

    Seltsamerweise funktioniert aber seit der Umstellung das Postview Plugin nicht mehr, welches so schön angezeigt hat, wie viele Leute einen Beitrag angeschaut haben :(

    Ich wünsche auf jeden Fall viel Glück!

  12. Die viel schlimmere Falle ist ja, dass WordPress (zumindest bei mir) irgendwann angefangen hat, in den iso-8859-1-codierten Spalten trotzdem UTF-8 abzuspeichern. Das führte bei allen Exportversuchen zu doppelt codiertem Zeichenbrei (in Beiträgen und Kommentaren standen so schöne Worte wie “größere”). Dagegen habe ich vor einiger Zeit mal ein Skript geschrieben. Falls Du also auf dieses Problem stößt, dann hilft Dir das vielleicht.

    • ad

      Ähm. Ja. Tolles Script. Da ich aber keinen Plan habe, wie man es genau einsetzt, komme ich dann mal auf dich zurück, wenn ich darf.

      • Wenn Dich dieses spezielle Problem trifft, dann meld’ Dich einfach…

  13. ad

    Danke für eure vielen Tipps. War mal wieder eine gute Idee, meine Leser nach ihrer Meinung zu fragen.

    Als ersten Schritt werde ich jetzt erst mal auf ein ManagedHosting Paket upgraden. Da habe ich nicht nur schnellere Server, sondern auch so viele Datenbanken wie ich will. Das heißt, ich werde die jetzigen erst mal duplizieren und dann an den Clones testen. Besser das…

  14. also ich mach das immer so (ja leider musste ich das schon oft tun):

    Braindump:

    - Dump von der DB ziehen

    - mit dem gnu tool “iconv” das encoding ändern
    iconv –from-code ISO8859-15 –to-code UTF-8 inputfile.mysql > output.mysql

    - und dann noch mit suchen ersetzen bei den Creates auf UTF-8 ändern.

    dann einspielen in MYSQL

  15. Man kann auch ein Script drüberlaufen lassen, das UTF-8-Konformität erzwingt:

    http://toscho.de/2009/utf-8-erzwingen/

  16. Das Zebramaedchen macht sich´s leicht:
    http://tumblr.zebramaedchen.de.....nvertieren :
    ALTER DATABASE `dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

  17. Ulf

    Na, eigentlich stehen hier schon mehr als genug Tipps, oder? ;-) . Mach doch einfach mal ne lokale Installation und teste, welche Methode funktioniert. Dann zerspielst du dir nicht dein Blog und kannst sicher gehen, dass die Migration auch gut geht.

    • ad

      Ist ja nicht so, dass ich noch nicht rumprobiert habe. Sogar online.

      Habe schon die DB exportiert und in eine neue SQL5-DB importiert. Anschließend in der wp-config umgebogen, um dann zu sehen, dass tatsächlich alle Sonderzeichen im Eimer waren.

      Muss ich ran – ich weiß…

  18. ad

    Stand der Dinge derzeit:

    Habe auf MySQL 5 migriert, den Zeichensatz aber auf Latin1 gelassen. Wie ihr seht, funktioniert das ganz gut.

  19. Pingback: Umzug von MySQL 4 auf 5 | admartinator.de

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>