Hilfestellung: Upgrade von MySQL 3/4 auf 5
Derzeit werden in unseren aktuellen Webhosting-Tarifen mit dynamischen Inhalten sowie allen Managed- und ResellerDedicated-Servern MySQL-Datenbanken in den Versionen 3, 4 und 5 angeboten. Da die MySQL-Versionen 3 und 4 bereits seit einigen Jahren nicht mehr weiterentwickelt werden (wir hatten dies vor einigen Wochen schon einmal im Blog erwähnt) und somit durch deren Verwendung auch sicherheitsrelevante Risiken bestehen, möchten wir Ihnen heute das Vorgehen beim Upgrade einer MySQL-Datenbank in Form einer Anleitung näher erläutern.
Im einfachsten Fall sind nur wenige Schritte erforderlich, um eine bestehende Datenbank in eine neue Version zu migrieren:
- Erstellen Sie eine Sicherung der aktuellen Datenbank
- Erstellen Sie eine neue MySQL-Datenbank in der Version 5
- Spielen Sie die erstellte Sicherungs in die neue Datenbank ein
- Damit Ihre Skripte auf die neue Datenbank zugreifen können, passen Sie in diesen bitte
– den Namen sowie den Benutzernamen der Datenbank an
– den Pfad zum MySQL-Host auf “mysql5.ihr-domainame.endung” an
Es existieren mehrere Varianten, um eine Sicherung einer MySQL-Datenbank in eine Datei vorzunehmen und anschließend die gesicherte Datei in einer anderen Datenbank wieder einzuspielen.
Variante A – Upgrade per SSH
In allen Tarifen, die einen SSH-Zugang ermöglichen, kann ein sog. MySQL-Dump direkt über die SSH-Konsole erstellt werden. Verbinden Sie sich bitte zunächst per SSH mit Ihrem Auftrag bzw. Server und nutzen Sie den folgenden Befehl für die Erstellung eines sog. Dumps der Datenbank.
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 db0000001_15. Bei “PASSWORT” geben Sie bitte das jeweilige Datenbankpasswort 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 wieder einspielen
Um nun den erstellten MySQL-Dump in einer neu angelegten MySQL5-Datenbank zu importieren, geben Sie auf der SSH-Konsole bitte folgende Zeile ein und ersetzen die Werte wie oben, jedoch diesmal durch die Angaben der neuen Datenbank:
mysql -h127.0.0.3 -uDATENBANKNAME -pPASSWORT DATENBANKNAME < dump.sql
Variante B – Upgrade per phpMyAdmin
Eine weitere Möglichkeit für die Sicherung einer Datenbank ist die Nutzung der Export-Funktion des phpMyAdmin. Bei sehr großen Datenbanken kann es jedoch passieren, dass Sie an die serverseitigen Skriptlimits stoßen und deshalb mit einer anderen Variante die Sicherung und Wiedereinspielung vornehmen müssen.
Bitte öffnen sie über Ihr Kundenmenü die Verwaltungsoberfläche des phpMyAdmin und wählen darin auf der linken Seite 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 mit der Bezeichnung „Exportieren“.
Standardmäßig sind nun alle Tabellen dieser Datenbank vorausgewählt und somit 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 Dateinamanes “DATENBANKNAME.sql”. Diese Datei speichern Sie bitte auf Ihrem lokalen Rechner ab.
Import der Datenbanksicherung
Um nun die im vorangegangenen Schritt exportierte SQL-Datei in eine MySQL5-Datenbank zu importieren, wählen Sie bitte im phpMyAdmin auf der linken die neu angelegte MySQL-Datenbank aus und klicken anschließend auf den Reiter “Importieren”.
Danach betätigen Sie 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)
Nachdem der Import erfolgreich durchgeführt wurde, erhalten Sie die Meldung “Der Import wurde erfolgreich abgeschlossen” und Sie können die Datenbank verwenden.
Variante C – Tool “DB-Dump”
Das Backup-Tool “DB-Dump”, das ebenso wie der phpMyAdmin eine Exportdatei Ihrer MySQL-Datenbanken erstellen kann, ist in allen Tarifen mit dynmischen Inahlten verfügbar und wird über einen Link aus dem Kundenmenü aufgerufen. Klicken Sie im Kundenmenü bitte auf den Menüpunkt “Vorinstallierte Anwendungen” und dort auf den Reiter “DB-Backup”. Die dort angezeigte URL rufen Sie bitte in Ihrem Browserfenster mit den angegebenen Zugangsdaten auf.
Es wird ein Formular mit der Überschrift “Datenbank Backup” angezeigt, in dem der Datenbankname und das Datenbankpasswort eingegeben werden müssen. Bei den folgenden Optionen ist eine Änderung/Angabe nicht zwingend erforderlich, so dass Sie nun direkt die Schaltfläche “Dump” anklicken können.
Sie erhalten abschließend die Meldung, dass die Datenbank erfolgreich auf Ihrem Webspace gespeichert wurde. Sie finden den Dump auf der obersten Ebene Ihres Webspaces bzw. in dem optional angegebenen Verzeichnis.
Sicherungsdatei wieder einspielen
“DB-Dump ermöglicht nur die Erstellung einer Sicherungsdatei, für die Wiedereinspielung nutzen Sie bitte entweder den eingangs beschriebenen Befehl per SSH, um die Sicherung in die neue MySQL5-Datenbank einzuspielen oder aber Sie laden sich die mittels “DB-Dump” erstellte Sicherungsdatei per FTP auf Ihren Rechner herunter. Im zweiten Fall kann der Import dann wie in Variante B beschrieben, über den phpMyAdmin erfolgen.
Variante D – Software “MySQLDumper”
Auch die Software MySQLDumper (http://www.mysqldumper.de) kann bei uns eingesetzt werden, um Sicherungskopien Ihrer Datenbanken zu erstellen und wieder einzuspielen. Sie ist v.a. für große Datenbanken geeignet, mit denen Sie bei Nutzung des phpMyAdmins an die Skriptlimits stoßen würden. Bitte beachten Sie, dass wir bei Einsatz von Fremdsoftware nur sehr begrenzt Support leisten können.
Trackbacklink · RSS-Feed der Artikelkommentare: RSS 2.0
Veröffentlicht in Allgemein, Fachchinesisch · Schlagworte: Datenbanken, MySQL, MySQL 3, MySQL 4, MySQL 5, MySQL Update, MySQL-Datenbanken









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.
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.
Als kleine Ergänzung: Bei Problemen mit UTF-8, hilft auch das Hinzufügen von:
SET NAMES ‘utf8′;
in der ersten Zeile des Dumps.
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
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.
Gibt es einen konkreten Termin, an dem MySQL3 & ’4 nicht mehr verfügbar sein sollen?
Wird danach durch Euch “hart” migriert?
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.