Verwenden Sie Mysqldump Gzip, um eine komprimierte Datei für eine MySQL-Datenbank zu erstellen
-
Verwenden Sie
mysqldump gzip
, um eine komprimierte Datei für eine MySQL-Datenbank zu erstellen -
Verwenden Sie
crontab
, um komprimierte Backups zu automatisieren
Dieses Tutorial zeigt die Verwendung von mysqldump gzip
mit und ohne crontab
, um komprimierte Backups einer bestimmten MySQL-Datenbank zu erstellen.
Verwenden Sie mysqldump gzip
, um eine komprimierte Datei für eine MySQL-Datenbank zu erstellen
mysqldump
und gzip
sind Dienstprogramme des Linux-Betriebssystems. Der mysqldump
wird verwendet, um ein Backup der Datenbank zu erstellen.
Wir verwenden das gzip
wie folgt, wenn wir das Backup als komprimierte Datei im aktuellen Verzeichnis speichern können.
Beispielcode eins:
-- Syntax: mysqldump -u username -ppassword db_name | gzip > dumpfilename.sql.gz
mysqldump -u root -p test | gzip > dump_test_db.sql.gz
Verwenden Sie nun den Befehl ls
, um zu bestätigen, dass die komprimierte Datei erstellt wurde. Lassen Sie uns ein weiteres Beispiel haben, bei dem Daten durch verschiedene Dateien gehen und in der letzten Datei gespeichert werden.
Beispielcode zwei:
-- Syntax: mysqldump -u username -ppassword db_name | gzip > file1.gz > file2.gz
mysqldump -u root -p test | gzip > file1.gz > file2.gz > file3.gz
Ausgabe:
$> ls -l
-rw-r--r-- 1 root root 0 14:35 21 May file1.gz
-rw-r--r-- 1 root root 0 14:35 21 May file2.gz
-rw-r--r-- 1 root root 453 14:35 21 May file3.gz
In diesem Beispiel wird mysqldump
ausgeführt und die generierte Ausgabe mit dem Pipe-Symbol (|
) umgeleitet. Dann sendet die Pipe die Standardausgabe als Standardeingabe an den Befehl gzip
.
Das >
ist der Ausgabeumleitungsoperator, der die Datenumleitung fortsetzt, bis der letzte Dateiname gefunden wird, und dies wäre die Datei, in der die Daten gespeichert werden.
Siehe die oben angegebene Ausgabe; die letzte Datei ist Datei3
, die Daten der Grösse 453
enthält, während die Grösse von Datei1
und Datei2
0
ist. Hier ist eine detaillierte Anleitung über die verschiedenen Parameter des gzip
und ihre Verwendung.
Wir können die komprimierten Backups auch mit crontab
automatisieren. Lassen Sie uns das im folgenden Abschnitt lernen.
Verwenden Sie crontab
, um komprimierte Backups zu automatisieren
Wir erstellen einen Cron-Job, um das Verfahren zum Erstellen komprimierter Backups der Datenbank zu automatisieren, wobei der Cron-Job den Befehl mysqldump
zu dem von Ihnen festgelegten Zeitpunkt ausführt.
Wir müssen die Schritte befolgen, um automatisierte komprimierte Sicherungen für die MySQL-Datenbank per Cron-Job einzurichten.
Schritt 1: Erstellen Sie eine .my.cnf
-Datei im Home-Verzeichnis des Benutzers.
sudo nano ~/.my.cnf
Schreiben Sie den genauen Text wie unten angegeben.
[client]
user = db_username
password = db_password
Vergessen Sie nicht, db_username
und db_password
mit Ihren Zugangsdaten zu aktualisieren. Beispielsweise lautet der Benutzername root
und das Passwort 12345
.
Beispielcode:
[client]
user = root
password = 12345
Sobald dies erledigt ist, speichern und beenden Sie die Datei.
Schritt 2: Beschränken Sie die Berechtigung der Anmeldeinformationsdatei. Auf diese Weise hat der angegebene Benutzer Zugriff darauf.
$ chmod 600 ~/.my.cnf
Schritt 3: Als nächstes erstellen Sie ein Verzeichnis, um alle Backups an einem Ort zu speichern.
$ mkdir ~/database_backups
Schritt 4: Öffnen Sie nun die crontab
-Datei.
$ crontab -e
Schreiben Sie den folgenden Job in die soeben geöffnete crontab
-Datei. Es erstellt täglich um 3 Uhr morgens komprimierte Datenbanksicherungen.
Im folgenden Job ist der Benutzername root
, der Datenbankname test
und der Ordner database_backups
speichert alle Backups.
$ 0 3* * * /usr/bin/mysqldump -u root test | gzip > /home/root/database_backups/test-$(date +\%Y\%m\%d).gz