MySQL Datenbanken sichern

Donnerstag, 22.03.2007 | MySQL | Keine Kommentare | dump , mysql

Um ein Backup von MySQL Datenbanken zu erstellen verwendet man am besten die Tools "mysqldump" oder "mysqlhotcopy".

mysqldump

Dieses Kommandozeilentool schreibt ein Dump mit SQL-Kommandos in den standart Output. Hier ein Beispiel wie man die Datenbank "users" sichern würde:

# mysqldump -u Username -p users > users-backup.sql

Dieser Aufruf würde alle Daten der Datenbank "users" als SQL create und insert Befehle in die Datei users-backup.sql schreiben. Um alle Datenbanken zu sichern würde man folgende option verwenden:

# mysqldump -u Username -p --all-databases > all_dbs.sql

Die Option --all-databases sagt mysqldump das der ein Dump aller Datenbanken in all_dbs.sql schreiben soll.

mysqlhotcopy

Im gegensatz zu "mysqldump" sichert "mysqlhotcopy" die Binärdaten der Datenbanken, d.h. das alle Binärdaten (*.frm, *.MYD und *.MYI) einer (oder mehrerer) Datenbanken kopiert werden. Hier ein Beispiel:

# mysqlhotcopy -u Username --password=Password users /home/burak/sqlbkp/

Vorsicht!!! Diese Methode funktioniert nur mit MyIsam Tabellen. Für InnoDB sollte deshalb mysqldump verwendet werden.

Egal welches Tool man verwendet, es sollte immer sichergestellt werden das keine Änderungen an den Datenbanken gemacht werden während ein Backup läuft.