IBM Cloud Docs
Sicherungskopie für MySQL unter Linux erstellen

Sicherungskopie für MySQL unter Linux erstellen

Standardmäßig werden MySQL-Datenbanken auf Linux-Servern im folgenden Verzeichnis gespeichert:

/var/lib/mysql/

Wenn Sie den mysqld-Service zuerst beenden, können Sie die Datenbank mithilfe des folgenden Befehls in ein Beispielverzeichnis '/backup' kopieren:

cp –Rp /var/lib/mysql/*.* /backup

Der Schalter –R für die cp Befehl bedeutet rekursiv, was Sie verwenden möchten, da sich jede Datenbank in einem separaten Verzeichnis befindet. Der Switch '–p' steht für Berechtigungen, wobei die Berechtigungen für das Kopierte verwaltet werden.

In der Regel beenden Sie den mysqld-Service, bevor Sie die oben dargestellte Methode verwenden. Wenn eine Datenbank kopiert wird, während sie aktiv ist, wird das Backup beschädigt und kann nicht mehr verwendet werden. Wenn Sie sicher sind, dass keine der Datenbanken verwendet wird, können Sie den vorhergehenden Befehl verwenden.

Befehl 'mysqldump'

Mit dem Befehl 'mysqldump' führen Sie ein Backup sowohl von einzelnen Datenbanken als auch von allen Datenbanken auf einem Server durch, ohne dass der mysqld-Service beendet werden muss. Aufgrund der Möglichkeit, Backups durchzuführen, während die Datenbanken weiterhin online sind, ist dies die bevorzugte Methode.

Einzelne Datenbanken

Der folgende Code ist ein Beispielbefehl, den Sie zum Sichern einer Datenbank mit dem Namen verwenden 'Beispiel' zum Verzeichnis /backup während Sie als Root angemeldet sind:

mysqldump example > /backup/example_backup.sql

Wenn es sich nicht um eine kleine Datenbank handelt, komprimieren Sie dann das Datenbankbackup, um die Übertragungszeit für das Backup zu reduzieren. Mit dem folgenden Befehl kann das Backup der Beispieldatenbank komprimiert werden:

tar czvf /backup/example_backup.tar.gz /backup./example_backup.sql

Alle Datenbanken

Wenn Sie mehrere Datenbanken sichern möchten, können Sie mit dem folgenden Befehl alle MySQL-Datenbanken im Verzeichnis '/backup' des Servers sichern.

mysqldump -A > /backup/databases.sql(or --all-databases)

Mit dem Parameter –A switch ('-all-databases' führt dieselbe Funktion aus) wird für alle Datenbanken ein Speicherauszug auf dem Server erstellt.