Upgrade von MySQL 3/4 auf MySQL 5

Da die MySQL-Versionen 3 und 4 bereits seit einigen Jahren nicht mehr weiterentwickelt werden und durch deren Verwendung somit sicherheitsrelevante Risiken bestehen, bieten wir ab Ende März 2019 nur noch Datenbanken in der Version 5 an. In dieser Anleitung wird das Vorgehen zum Upgrade einer MySQL-Datenbank auf die aktuelle Version 5 erläutert.

Zusammenfassung der erforderlichen Schritte

Im Regelfall sind nur wenige Schritte erforderlich, um eine bestehende Datenbank in eine neue Version zu migrieren:

  1. Sicherung der aktuellen Datenbank erstellen
  2. Neue MySQL-Datenbank in der Version 5 erstellen
  3. Sicherung in die neue Datenbank einspielen
  4. Skripte anpassen, damit diese auf die neue Datenbank zugreifen können:
    – Name sowie den Benutzernamen der Datenbank anpassen
    – Pfad zum MySQL-Host auf „mysql5.ihr-domainame.tld“ ändern (ihr-domainame.tld ersetzen Sie bitte durch Ihren Domainnamen)

Um eine Sicherung einer MySQL-Datenbank in eine Datei vorzunehmen und anschließend die gesicherte Datei in einer anderen Datenbank wieder einzuspielen, existieren mehrere Varianten.

Variante A – Upgrade per SSH

In allen Tarifen, die einen SSH-Zugang ermöglichen, kann ein sogenannter „MySQL-Dump“, also eine Datenbanksicherung, direkt über die SSH-Konsole erstellt und anschließend wieder eingespielt werden.

Sicherung der Datenbank erstellen

Verbinden Sie sich dazu bitte zunächst per SSH zu Ihrem Server und nutzen Sie den folgenden Befehl für die Erstellung des Dumps:

Dump/Sicherung  einer MySQL3-Datenbank erstellen:
mysqldump -h127.0.0.1 -uDATENBANKNAME -pPASSWORT DATENBANKNAME > dump.sql

Dump/Sicherung einer MySQL4-Datenbank erstellen:
mysqldump -h127.0.0.2 -uDATENBANKNAME -pPASSWORT DATENBANKNAME > dump.sql

Statt „DATENBANKNAME“ geben Sie bitte den Namen der Datenbank an, beispielsweise db00001_15. Bei „PASSWORT“ geben Sie bitte das Passwort der Datenbank ein.
Achten Sie bitte darauf, dass zwischen dem „-h“ und dem anschließenden Hostnamen kein Leerzeichen vorhanden ist. Dies gilt auch für „-u“ und dem Benutzer sowie dem „-p“ und dem direkt nahfolgenden Passwort.

Abhängig der genutzten Codierung, z.B. latin1 oder utf8 kann es noch erforderlich sein, dass Sie diese bei der Erstellung des Dumps noch mit angeben. Die Option für utf8 lautet hierbei beispielsweise „–default-character-set=utf8“.

Sicherung der Datenbank einspielen

Um nun den erstellten MySQL-Dump in eine neu angelegte MySQL5-Datenbank zu importieren, geben Sie auf der SSH-Konsole bitte folgenden Befehl ein und ersetzen die Werte wie oben, jedoch diesmal mit den Angaben der neuen Datenbank:
mysql -h127.0.0.3 -uDATENBANKNAME -pPASSWORT DATENBANKNAME < dump.sql

Passen Sie dann Ihre Skripte, die sich zur Datenbank verbinden, auf die Daten der neuen Datenbank an.

Variante B – Upgrade per phpMyAdmin

Eine weitere Möglichkeit für die Sicherung einer Datenbank ist die Nutzung der Export-Funktion des phpMyAdmin.

Bitte beachten Sie: Bei sehr großen Datenbanken kann es passieren, dass Sie an die serverseitigen Skriptlimits stoßen und die Sicherung mit einer anderen der vorgeschlagenen Varianten vornehmen müssen.

Sicherung der Datenbank erstellen

Bitte öffnen sie über Ihr Kundenmenü unter dem Menüpunkt „MySQL Datenbanken“ die Verwaltungsoberfläche des phpMyAdmin und wählen dann in der linken Leiste die Datenbank aus, für die Sie einen Export ausführen möchten. Klicken Sie anschließend bitte auf der rechten Seite oben auf den Reiter „Exportieren“.

phpMyAdmin Datenbank auswählen

phpMyAdmin: Datenbank auswählen

Standardmäßig sind nun alle Tabellen dieser Datenbank vorausgewählt und entsprechend markiert (1). Im unteren Teil der Seite kann nun der Modus gewählt werden, in welchem der Datenbank-Export erstellt werden soll. Hierbei empfehlen wir, dass Sie den Modus „SQL“ ausgewählt lassen (2) und die Checkbox bei „Senden“ aktivieren (3). Optional kann der Dateiname der Exportdatei geändert werden.
Als letzten Schritt klicken Sie nun rechts unten auf die Schaltfläche „OK“ (4) und Sie erhalten, abhängig der Größe der Datenbank, bereits nach wenigen Augenblicken den Download des Datenbank-Exports in Form des Dateinamens „DATENBANKNAME.sql“ angeboten. Diese Datei speichern Sie bitte auf Ihrem lokalen Rechner ab.

phpMyAdmin Datenbank exportieren

phpMyAdmin: Datenbank exportieren

Sicherung der Datenbank einspielen

Um nun die im vorangegangenen Schritt exportierte SQL-Datei in eine MySQL5-Datenbank zu importieren, wählen Sie bitte im phpMyAdmin auf der linken Seite die neu angelegte MySQL-Datenbank aus und klicken anschließend auf den Reiter „Importieren“.
Betätigen Sie dann bitte die Schaltfläche „Durchsuchen“ (1) und wählen in dem Popup-Fenster die zuvor abgespeicherte Datei „DATENBANKNAME.sql“ auf Ihrem lokalen Rechner aus. Bei den Optionen „Partieller Import“ (2) und „Dateiformat“ (3) sind keine Änderungen der Vorabeinstellung erforderlich und Sie können zum Abschluss auf die Schaltfläche „OK“ klicken. (4)

phpMyAdmin Dump importieren

phpMyAdmin: Import

Nachdem der Import erfolgreich durchgeführt wurde, erhalten Sie die Meldung „Der Import wurde erfolgreich abgeschlossen“ und Sie können die Datenbank verwenden.

Passen Sie dann Ihre Skripte, die sich zur Datenbank verbinden, auf die Daten der neuen Datenbank an.

Variante C – Kundenmenü

Im Kundenmenü können Sie unter „MySQL Datenbanken“ eine Sicherung Ihrer Datenbanken erstellen. Klicken Sie dazu einfach rechts neben der gewünschten Datenbank auf „Backup“.

Bei den folgenden Optionen ist eine Änderung/Angabe nicht zwingend erforderlich, sodass Sie nun nur das Passwort zur Bestätigung eingeben müssen und dann über die Schaltfläche „Backup anfordern“ die Sicherung erstellen können.

Sie erhalten abschließend die Meldung, dass die Datenbank erfolgreich auf Ihren Webspace gespeichert wurde. Sie finden den Dump auf der obersten Ebene Ihres Webspaces.

Sicherung der Datenbank einspielen

Die Backupfunktion im Kundenmenü ermöglicht nur die Erstellung einer Sicherungsdatei, für die Wiedereinspielung nutzen Sie bitte entweder den in Variante A beschriebenen Befehl per SSH, um die Sicherung in die neue MySQL5-Datenbank einzuspielen oder aber Sie laden sich die erstellte Sicherungsdatei per FTP auf Ihren Rechner herunter und führen den Import wie in Variante B beschrieben über den phpMyAdmin durch.

Passen Sie dann Ihre Skripte, die sich zur Datenbank verbinden, auf die Daten der neuen Datenbank an.

End of article

DomainFactory

Über den Autor

DomainFactory

Als Qualitätsanbieter überzeugen wir mit HighEnd-Technologie und umfassenden Serviceleistungen. Mit mehr als 1,3 Millionen verwalteten Domainnamen gehören wir zu den größten Webhosting-Unternehmen im deutschsprachigen Raum.

24 Kommentare

Die von Ihnen hier erhobenen Daten werden von der domainfactory GmbH zur Veröffentlichung Ihres Beitrags in diesem Blog verarbeitet. Weitere Informationen entnehmen Sie bitte folgendem Link: www.df.eu/datenschutz


  • Marcus Schwemer
    Marcus Schwemer - 3. November 2011 um 13:35 Uhr

    Hallo,

    vielen Dank für den ausführlichen Artikel. Drei Hinweise habe ich noch:

    – bei der Verwendung von phpMyAdmin (und ggf. den anderen php-basierten Vorschlägen) kann bei großen Datenbanken die Skriptlaufzeit überschritten werden und damit der Im- oder Export ggf. unvollständig sein. Auch kann ein Limit der Dateigröße beim Upload zuschlagen.

    – bei der ssh-Lösung würde ich noch die Option „–default-character-set=utf8“ angeben. Andernfalls hatte ich beim Import mit den Zeichensätzen Probleme.

  • Dietmar
    Dietmar - 3. November 2011 um 13:50 Uhr

    Hallo Marcus,
    vielen Dank für die Hinweise, die natürlich berechtigt sind und die wir daher oben noch ergänzt haben. Bei großen Datenbanken ist der MySQLDumper eine ganz nette Lösung, da dieser in mehreren Teilen den Dump erstellt.

  • Tregi
    Tregi - 3. November 2011 um 17:20 Uhr

    Als kleine Ergänzung: Bei Problemen mit UTF-8, hilft auch das Hinzufügen von:
    SET NAMES ‚utf8‘;
    in der ersten Zeile des Dumps.

  • Olaf
    Olaf - 4. November 2011 um 08:06 Uhr

    Für den Umstieg von MqSQL 3 auf 4 gab (oder gibt) es bei DF eine Konvertierungsfunktion, Warum ist es beim Umstieg auf Version 5 nicht auch so komfortabel möglich? Gerade weil es sicher viele „Alt User“ betrifft

  • Dietmar
    Dietmar - 4. November 2011 um 09:44 Uhr

    Hallo Olaf,

    ja man kann im Kundenmenü die Version von MySQL3 auf 4 umstellen, nicht jedoch auf MySQL5. Der Hintergrund ist, dass sich mit MySQL5 insgesamt mehr geändert hat und man nicht einfach die Inhalte kopieren kann, sondern explizit einen Dump erstellen muss. Wir prüfen aber gerne, ob sich das vielleicht dennoch über eine „Upgrade“-Funktion vielleicht automatiseren lassen könnte.

  • Holger
    Holger - 4. November 2011 um 12:39 Uhr

    Gibt es einen konkreten Termin, an dem MySQL3 & ‚4 nicht mehr verfügbar sein sollen?
    Wird danach durch Euch „hart“ migriert?

  • Dietmar
    Dietmar - 4. November 2011 um 12:48 Uhr

    Hallo Holger,
    nein es gibt noch keinen Termin für die Abschaltung von MySQL3 oder 4. Wir möchten zunächst unsere Kunden und Reseller für das Thema etwas sensibilisieren und bewusst machen, dass beides alte Technik ist und zwangsläufig irgendwann umgestellt werden muss. Konkrete Termine gibt es aber derzeit nicht.

  • Ekkard
    Ekkard - 11. September 2015 um 22:43 Uhr

    Ein Hinweis wäre nett, wo man die anzupassenden Skripte findet.

  • Ekkard
    Ekkard - 16. September 2015 um 21:27 Uhr

    Die anzupassenden Skripte stehen meist in Dateien wie „config.php“.
    Nach Sicherung der Daten muss man die bestehende Datenbank löschen. Erst danach zeigt sich eine Option, die Datenbank im Kundenmenü mit der gerade geltenden MySQL Version kostenlos zu erstellen.

    Im MySQLDumper kann unter dem Menüpunkt Konfiguration/Datenbanken/Verbindungsparameter (ein/ausblenden) Host / User / Passwort eingegeben werden. Das erspart es die config-Datei zu editieren.

    • Nils Dornblut
      Nils Dornblut - 17. September 2015 um 20:59 Uhr

      Es hängt vom Tarif ab, ob die Datenbank vorher gelöscht werden muss. In vielen unserer Tarife sind mehrere MySQL-Datenbanken direkt inkludiert und das Löschen vorab ist hier meist nicht nötig. Leider hatten wir Ihre Frage vorab übersehen. Bitte entschuldigen Sie. Ist das nun beantwortet mit Ihrer eigenen Antwort oder sind noch Fragen offen?

      • Ekkard
        Ekkard - 18. September 2015 um 21:23 Uhr

        Alles klar von meiner Seite! Nach einigen Rückfragen hat alles prima funktioniert. Dank an das Support-Team.

  • Markus
    Markus - 2. Mai 2017 um 17:38 Uhr

    Ist schon ein Termin bekannt, wann die Datenbanken der Version 3 & 4 abgeschaltet werden sollen?
    Wie weit im Vorfeld bekommen die Kunden Bescheid?

    Das könnte bei uns einiges an Arbeit bedeuten – das es irgendwann gemacht werden sollte ist aber natürlich auch klar.
    Nur müsste man das sinnvoll einplanen können.

    Ein kurzer zeitlicher Abriss wäre also geschickt.

    Und noch was: Das Einspielen eines MySQL 3 – Dumps in MySQL 5 funktioniert tatsächlich? Da hat sich doch einiges geändert, ich denke nur an TYPE= statt ENGINE= und das ist nur das was mir spontan einfällt? Hat es da eine eingebaute Konvertierung, das mysqldump?!?

    • Nils Dornblut
      Nils Dornblut - 2. Mai 2017 um 17:56 Uhr

      Es ist aktuell keine Einstellung von MySQL 3/4 geplant und es wird voraussichtlich mehrere Wochen im Voraus angekündigt, wenn es dazu kommen sollte. Die Varianten oben funktionieren und sind getestet. Natürlich gibt es noch mehr Möglichkeiten/Optionen, wobei wir da auf die MySQL-Dokumentation verweisen möchten.

    • Werner Bachhuber
      Werner Bachhuber - 5. Juli 2018 um 09:14 Uhr

      MySQL3 zu MySQL5 macht (bei mir) tatsächlich Schwierigkeiten durch die Neuerungen TYPE= zu ENGINE=. Das funktioniert m.E. nicht so einfach, wie oben beschrieben. Meine Empfehlung: die MySQL3-Datenbank zu dumpen und in MySQL4 zu importieren. Anschließend die MySQL4-Datenbank dumpen und in MySQL5 importieren. So hat es bei mir funktioniert 🙂

      • Jens
        Jens - 25. November 2018 um 09:07 Uhr

        Von Version 3 auf 5 hat bei mir auch nicht geklappt, egal welche Methode ich versucht habe. Der Umweg über Version 4 klappte alledings dann problemlos.
        Werner Bachhuber, Danke für den Tipp.

  • Pit
    Pit - 6. Januar 2019 um 14:39 Uhr

    Hallo,

    ich bin blutiger Dummy, was sql und php angeht, daher bitte ich vorher um Entschuldigung, falls hier eine dumme Frage gestellt wird.

    Ich benutzt den Webspace um Bilder von Cameras per ftp hier zu speichern und ab und zu herunterzuladen.

    Ich habe mich an der Beschreibung zur Umstellung von MySQL4 (–>meine derzeitige „Einstellung“) auf MySQL5 lang gehangelt und bin jetzt bei phpMyAdmin und habe dort keine Datenbanken zum sichern und downloaden und zurück auf MySQL5 hochzuladen.

    Meine Frage ist:

    Wie komme ich jetzt von SQL4 auf SQL 5?
    Kann ich irgendwo einen Button anklicken und dann habe ich SQL5?
    Muß ich SQL4 löschen und gut???

    Wie gesagt ich weiß im Grunde gar nicht was ich tun soll, weil der Background fehlt 🙂

    Vielen Dank für „einfache“ Hilfe.

    Gruß
    Pit

  • Johannes
    Johannes - 19. Januar 2019 um 18:17 Uhr

    MySQL 3 nach MySQL 4 nach MySQL 5.
    Klappt ohne Fehlermeldung.
    Problem: Sonderzeichen defekt, SQL Statements funktionieren nicht mehr

    Ich kann gar nicht so viel fressen wie ich kotzen könnte. Domainfactory kotzt mich einfach nur noch an. Nehmt mein Geld und lasst den Scheiss doch einfach laufen! Ich kann nicht einfach so upgraden! Aber ihr lasst ja mal lieber ne Woche die Exchange-Server ausfallen, anstatt nen Scheiss Service zu liefern oder einfach nur alles so lassen wie es ist!

  • Alexander Fellner
    Alexander Fellner - 11. April 2019 um 11:52 Uhr

    Guten Tag

    Domain Factory geht von lauter IT Spezialisten aus!!!

    Nein es gibt auch noch personen die damit überfordert sind von My …..3 auf My …. 5 umzustellen.

    Da sie selbst es nicht anbierten und das für uns kein Kunden Service ist werden wir ihre Dienste nicht mehr in anspruch nehmen.

    Kundenservice was ist das bei ihnen ?!

  • Hedwig Gertz
    Hedwig Gertz - 11. April 2019 um 18:06 Uhr

    Ich bin mir nicht sicher ob nun mein Backupp über das Kundenmenü Variante C) geklappt hat! Da ich nur Endverbraucher bin, bin ich fachlich und begrifflich nicht in der Lage mit Ihrer Beschreibung klar zu kommen. Ich bitte um Benachrichtigung, ob meine Website nun auf dem neusten Stand (gespeichert im Webspace) ist. Ich selber kann das nicht beurteilen, habe mich aber redlich bemüht.
    Ich bitte um eine Nachricht, ob nun alles klar ist und wenn nicht, dann bitte eine Unterstützung für mich als Laie.

    Hedwig

  • Kathrin
    Kathrin - 12. April 2019 um 12:05 Uhr

    … Ich schließe mich meinen „Vorrednern“ ab Jan. 19 an:
    Ich zahle meine Beiträge für das Hosting und nicht damit, mich mit Dingen beschäftigen zu müssen, von denen ich 1. nichts verstehe, mich aber auch 2. nicht in diese Materie reinarbeiten möchte und zeitlich einfach auch nicht kann. Ich würde gern einen möglichen Service annehmen und die Umstellung einem DF-Fachmann überlassen, wofür ich bereit wäre, einen entsprechenden Betrag zu zahlen.
    Sehe mich also gezwungen, mit meiner Homepage umzuziehen …

  • Edgar Lotz
    Edgar Lotz - 13. April 2019 um 15:15 Uhr

    Ich kapiere nur Bahnhof und bin absoluter Laie.

    Vielen Dank für Ihre Mühe, dieses Spezialwissen für Umstellungen näher zu bringen.

    Das ist so ähnlich als hätte ich einen Flug nach New York gebucht und dann geben Sie mir gute Tipps, wie ich die Maschine selber als Pilot steuern kann… Viel Glück.

    Soll ich eine IT Ausbildung machen?

    Ich überlege mir, zu wechseln.

  • Marion Niedermeier
    Marion Niedermeier - 16. Mai 2019 um 08:25 Uhr

    Sehr geehrte Damen und Herren,

    toller Service!

    Ich verstehe überhaupt nichts. Betrifft es uns oder nicht? An wen wendet man sich bei so etwas????

    Bieten Sie es doch mit Teamviewer meinetwegen gegen eine geringe Gebühr von 30 Euro den Service an (das wäre dann Service!), es zu erledigen. Bei Ihnen sitzen die Fachleute nicht in kleinen Firmen, deren Existenz Sie aufs Spiel setzen.

    Brauche dringend Unterstützung. Meinetwegen auch von einem Profi, der es erst einmal checkt und dann macht. Wo wende ich mich hin.

    MfG