Sichern und Wiederherstellen von MySql

Um MySQL-Daten über die Befehlszeile zu sichern und wiederherzustellen, verwenden wir die Dienstprogramme mysqldump und mysql .
Vorzugsweise verwenden wir das bei der Installation von MySql angelegte Admin-Konto: hier ist es der Root-Benutzer.

MySQL-Backup

Es gibt verschiedene Arten von MySQL-Backups.
Sie können alle Datenbanken, eine einzelne Datenbank oder sogar bestimmte Tabellen aus einer oder mehreren Datenbanken sichern.

Um alle Datenbanken zu speichern, verwenden wir den folgenden Befehl:

 mysqldump --user = my_user --password = my_password --all-databases> destination_file.sql 

So sichern Sie eine bestimmte Datenbank:

 mysqldump --user = my_user --password = my_password --databases database_name> destination_file.sql 

So sichern Sie mehrere Datenbanken:

 mysqldump --user = my_user --password = my_password --databases base_name_1 base_name_2> destination_file.sql 

So speichern Sie eine bestimmte Tabelle:

 mysqldump --user = my_user --password = my_password --databases db_name --tables table_name> destination_file.sql 

So speichern Sie mehrere Tabellen:

 mysqldump --user = my_user --password = my_password --databases database_name --tables table_name_1 table_name_2> destination_file.sql 

Für alle diese Arten von MySQL-Backups sind die generierten Dateien in .sql. Das heißt, Sie können die gewünschte Erweiterung wie z. B. .txt einfügen. Es tut nichts zur Sache.
Die Dateien sind in Klartext lesbar und enthalten alle SQL-Befehle, um eine MySQL-Wiederherstellung durchführen zu können.

.sql-Dateien sind jedoch groß. Um Platz zu sparen, werden wir sie beim Speichern im Handumdrehen komprimieren.

MySQL-Backup komprimieren

Um die Daten zu komprimieren, verwenden wir sie gunzip nach dem Aufruf von mysqldump.

Dies gibt Befehle wie:

 mysqldump <Befehle> | gzip> Zieldatei.sql.gz 

Beispiel mit dem vollständigen Backup-Befehl:

 mysqldump --user = my_user --password = my_password --all-databases | gzip> Zieldatei.sql.gz 

Beachten Sie, dass der mysql backup-Befehl bei dieser Methode eine einzelne komprimierte Datei erzeugt. die Quelldatei existiert nicht mehr.

MySQL-Wiederherstellung

Für die MySQL-Wiederherstellung verwenden wir den Befehl nicht mehr mysqldump . Wir verwenden den Befehl mysql .
Der mysql-Befehl liest eine Datei und stellt sie dann gemäß ihrem Inhalt und ihren Anweisungen wieder her.

Die MySQL-Wiederherstellung kann für alle Datenbanken oder für eine bestimmte Datenbank durchgeführt werden.

Beispiel ohne Datenbankunterscheidung:

 mysql --user = my_user --password = my_password <source_file.sql 

Ein weiteres Beispiel für die Wiederherstellung in einer bestimmten Datenbank:

 mysql --user = my_user --password = my_password database_name <source_file.sql 

Nun, da alles klar ist, können wir einen CRON-Task planen, um unsere Datenbanken in regelmäßigen Abständen zu sichern.