Top
Left
Middle1

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
Bild vergrößern 650 470 http://img2.magnus.de/Special-MySQL-und-phpMyAdmin-MySQL-r650x470-C-5560d261-9463023.jpg Hilfreich: Der SQL-Code kann als Vorlage dienen.

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.

Codebeispiel:

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
Bild vergrößern 937 413 http://img1.magnus.de/Special-MySQL-und-phpMyAdmin-MySQL-r937x412-C-ded3e59c-9463027.jpg Beweglich: Auch Tabellen lassen sich kopieren.

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:

Codebeispiel:

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:

Codebeispiel:

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.

Codebeispiel:

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

Codebeispiel:

mysqlhotcopy Datenbankname
Verzeichnis

Middle2


Inhaltsverzeichnis


x03
Position4
Bottom1
Meistgelesen
1. Mediamarkt: Samsung S II & Co jetzt im Angebot

Mediamarkt hat im neuen Newsletter 3/2012 "Alle Mediamärkte feiern: Grosse Neueröffnung des Online Shops" auch sieben Smartphones in sein…

2. Erste iPhone-5-Modelle angeblich im Umlauf

Das iPhone 5 ist bereits fertig entwickelt und wird nun für die Serienproduktion vorbereitet, schreibt das Blog 9to5mac.com. Mehrere Prototypen, die sich…

3. Nikon D800 – Versehentlich aufgetaucht?

Auf einer deutschen Nikon-Internetseite war kurzzeitig im Rahmen eines neuen Linie-Up-Bildes der aktuellen Nikon-SLRs außer der D4 auch eine D800 zu…

4. Microsoft entdeckt neuen "TrojanDownloader"

Kleine Programmen, die wenig eigene Funktionen haben und im Wesentlichen dazu dienen, größere ausführbare Programme aus dem Internet nachzuladen, gibt…


Kleines Spiel für zwischendurch

x01
Bottom2
Bildergalerien
7 Geschenkideen, die am Anfang Ihrer Beziehung schaden könnten Mobiles Fernsehen MP3-Player Portable DVD-Player

Bilder-Suche

Top 5 Downloads
1
SciLor's Grooveshark Downloader

Version: 0.4.9q
Lizenz: Freeware
Betriebssystem: WindowsLinuxMac

2
Win7codecs

Version: 3.4.3
Lizenz: Freeware
Betriebssystem: Windows

3
VueScan

Version: 9.0.79
Lizenz: Freeware / Shareware
Betriebssystem: WindowsLinuxMac

4
Grub-Installer

Version: 1.1
Lizenz: Freeware
Betriebssystem: Windows

5
SUPERAntiSpyware Free

Version: 5.0.1142
Lizenz: Freeware
Betriebssystem: Windows

Download-Suche

Bottom3
x02
Right1
Right2
Right3