Tolles aus der MySQL-Trickkiste

Teil 3: MySQL und phpMyAdmin

Kopieren per Dateisystem

Das MySQL-Standard-Tabellenformat MyISAM speichert die Daten zu einer Datenbank in einem eigenen Verzeichnis. Dies lädt natürlich zum direkten Kopieren über das Dateisystem ein. Vorsichtig sein müssen Sie nur, wenn gerade Nutzer in die Tabellen schreiben oder schreiben könnten. In diesem Fall ist die Datenintegrität in Gefahr, da Sie dann eventuell zwei Stände haben. Bei mehreren Tabellen kann es dann sogar vorkommen, dass Referenzen scheitern. Deswegen können Sie mit dem SQL-Befehl LOCK TABLE eine Tabelle sperren. Hier reicht das Sperren für Schreibvorgänge:

Special MySQL und phpMyAdmin: MySQL

© Archiv

Hilfreich: Der SQL-Code kann als Vorlage dienen.

Zusätzlich ist es empfehlenswert, mit FLUSH noch den MySQL-internen Cache zu leeren. Ausführliche Informationen zum Thema erhalten Sie unter http://dev.mysql.com/doc/refman/5.1/de/backu p.html.

LOCK TABLE Tabellenname WRITE

Dumps per phpMyAdmin

In Shared-Hosting-Umgebungen und bei Webservern, die Sie nicht selbst unter Kontrolle haben, fehlt sowohl der Konsolenzugriff als auch die Möglichkeit, Daten aus dem Datenverzeichnis von MySQL direkt zu kopieren.

Dumps per Konsole

Das Erstellen von Dumps mit phpMyAdmin hängt von der PHP-Einstellung für Skript-Timeouts ab und muss immer manuell angestoßen werden. Insofern ist sie für regelmäßige Sicherungen nicht besonders praktikabel. Einfacher geht es über die Konsole beziehungsweise Eingabeaufforderung - wenn Sie einen solchen Zugriff haben. Mittels mysqldump können Sie schnell einen Dump anlegen:

Special MySQL und phpMyAdmin: MySQL

© Archiv

Beweglich: Auch Tabellen lassen sich kopieren.

Basis ist das Hilfsprogramm mysqldump. Vorsicht, hier handelt es sich nicht um die MySQL-Konsole, sondern um ein separates Programm, das in der Systemkonsole aufgerufen wird. Optional können Sie noch eine Liste der Tabellennamen hinter dem Datenbanknamen angeben. Und auch das Komprimieren des Dumps in einem Archiv erledigen Sie direkt in der Anweisung:

mysqldump --user=Benutzername --
password=Passwort Datenbankname >
dump.sql

Sie sollten beim Erstellen des Dumps die Tabellen sperren. Dazu können Sie einfach beim Aufruf die Option --lock-tables anfügen. Ansonsten kann es passieren, dass gerade von Nutzern in die Datenbank geschrieben wird, während Sie die Sicherung vornehmen. Dadurch sind unter Umständen einzelne Tabellen im Dump inkonsistent. Diese Gefahr ist vor allem bei Websites mit vielen Besuchern und häufiger Nutzerinteraktion hoch. Das Sperren und Sichern sollten Sie in diesem Fall aber in Zeiten machen, in denen die Site nicht stark frequentiert ist. Alle Optionen von mysqldump finden Sie unter http://dev.mysql.com/doc/refman/5.1/de/my sqldump.html. Um die Daten wieder einzuspielen, verwenden Sie folgende Zeile:

mysqldump --user=Benutzername --
password=Passwort Datenbankname 
| gzip >dump.sql.gz

Die Datenbank muss in leerer Form schon vorliegen. Nach dem Passwort wird dann noch gefragt. Wenn Sie das Erstellen eines Dumps zum Sichern verwenden, sollten Sie ab und an eine manuelle Test-Wiedereinspielung vornehmen, um sicherzugehen, dass Ihre Dumps auch wirklich klappen. Die genannten Kommandozeilenaufrufe können Sie auf einem Linux- basierten Webserver mit einem Cronjob wiederholt ausführen. Windows bietet mit dem Systemdienst Schedule ähnliche Möglichkeiten. Die meisten Hoster besitzen in ihren Kundenmenüs Eingabemasken, um das Erstellen von Cronjobs zu erleichtern.

cat dump.sql | mysql --user=
Benutzername --password Datenbankname

Eine weitere Alternative zu mysqldump ist mysqlhotcopy. Es erstellt ein sehr schnelles Backup einer Datenbank und kopiert es einfach in ein angegebenes Verzeichnis:

Das Programm übernimmt dabei das Sperren der Tabellen. Es funktioniert allerdings nur mit dem Tabellenformat MyISAM und benötigt Perl. Eine umfangreiche Übersicht mit den Einstellungen finden Sie unter http://dev.mysql.com/doc/refman/5.1/en /mysqlhotcopy.html

mysqlhotcopy Datenbankname
Verzeichnis

Mehr zum Thema

festplatte, hardware, pc, hdd
Gelöschte Dateien wiederherstellen

Wir zeigen Ihnen, wie Sie verloren geglaubte Daten retten können - etwa mit dem kostenlosen Tool Recuva.
Whatsapp Alternativen
Für Android, iPhone, iPad & Co.

Es gibt keine Whatsapp-Alternative? Quatsch! Diese 10 Messenger-Apps für Android, iOS und Windows Phone sind der perfekte Ersatz.
Windows Energieeinstellungen optimieren
Die besten Tipps

Die Energieeinstellungen in Windows lassen sich flexibel anpassen. Wir zeigen Ihnen, wie Sie Ihren eigenen Energiesparplan optimieren.
Any Video Recorder
Anleitung

Wir zeigen in dieser Anleitung, wie einfach Sie mit dem Tool Any Video Recorder jeden beliebigen Stream aufnehmen können
Outlook - Logo
Office-Tipp

Wir zeigen, wie Sie in Outlook die Kalenderwoche anzeigen lassen können. Unser Office-Tipps sorgt für Durchblick bei der Terminplanung.