GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So planen Sie ein MySQL-Datenbank-Backup unter Ubuntu

Das Durchführen regelmäßiger Sicherungen ist ein wesentliches Verfahren für jede Art von Daten. Dieses Tutorial hilft Ihnen dabei, einige der am häufigsten verwendeten Tools zum Sichern und Wiederherstellen Ihrer MySQL-Datenbank kennenzulernen.

Zuerst müssen Sie sich über eine SSH-Verbindung mit Ihrem Server verbinden. Falls Sie dies noch nicht getan haben, empfehlen wir Ihnen, unserer Anleitung zu folgen, um sich sicher mit SSH zu verbinden. Im Falle eines lokalen Servers können Sie zum nächsten Punkt gehen und das Terminal Ihres Servers öffnen.

Verwenden Sie mysqldump

Mysqldump ist eine Anwendung, die immer in jeder MySQL-Installation verfügbar ist und es Ihnen ermöglicht, einen vollständigen Dump Ihrer Daten im Textformat durchzuführen.

Die Befehlssyntax lautet wie folgt:

    $ mysqldump -u [username] -p [database] > backup.sql

Wenn Sie diesen Befehl ausführen, finden Sie eine vollständige Datenbanksicherung, die in der Datei backup.sql angegeben ist.

Um die Sicherung wiederherzustellen, verwenden Sie den MySQL-Client wie folgt:

    $ mysql -u [username] -p [database] < backup.sql

Abhängig von der Größe der Datenbank können diese Backup-Dateien beträchtliche Größen erreichen, was es schwierig macht, sie zu übertragen oder zu kopieren. Um die Größe der Datenbanksicherung zu optimieren, können Sie die Datei mit gzip komprimieren:

    $ mysqldump -u [username] -p [database] | gzip > backup.sql.gz

Wenn Sie möchten, können Sie das aktuelle Datum auch automatisch in den Dateinamen einfügen mit:

    $ mysqldump -u [username] -p [database] | gzip > backup_$(date +%F.%H%M%S).sql.gz

Verwenden Sie zum Wiederherstellen stattdessen die folgende Syntax:

    $ mysql -u [username] -p [database] < backup.sql

Hinweise zu mysqldump:

Es ist gut zu bedenken, dass mysqldump während des Dumps und Backups einer Datenbank nicht die Konsistenz von Daten zwischen Tabellen garantiert. Wenn während der Sicherung Schreibvorgänge stattfinden, kann die erhaltene Sicherung teilweise und/oder beschädigt sein.

Um dieses Problem zu vermeiden, gibt es bestimmte Optionen, die von der Anwendung bereitgestellt werden:

  • --lock-all-tables:blockiert alle Schreiboperationen auf allen Tabellen aller Datenbanken

  • - Sperrtabellen:Diese Option setzt stattdessen die zu sichernde Datenbanktabelle in den schreibgeschützten Modus.

Welche Optionen zu wählen sind, hängt davon ab, ob Sie Daten haben, die sich auf mehrere Datenbanken beziehen oder nicht. In den meisten Fällen ist --lock-tables die ideale Lösung, um die Datenintegrität für jede einzelne Datenbank zu gewährleisten.

mysqldump durch crontab automatisieren

Um das Backup periodisch zu machen, müssen Sie es lediglich per Programmierung zum crontab des Systems hinzufügen, zB einmal täglich. Öffnen Sie zuerst die Crontab, indem Sie Folgendes starten:

    $ sudo crontab -e

Fügen Sie nun am Ende der Datei eine Zeile wie folgt hinzu:

    00 23 * * * mysqldump -u [username] -p [database] | gzip > /home/utente/backup.sql.gz

Durch das Speichern der Datei erstellt das System eine Sicherung pro Tag (um 23:00 Uhr) in Ihrem Benutzerverzeichnis und überschreibt jeden Tag die vorherige Sicherung.

Automysqlbackup verwenden

Zusätzlich zur Verwendung von mysqldump durch den manuellen Export von Backups können Sie sich auf eines der beliebtesten Dienstprogramme der Branche verlassen:automysqlbackup.

Zuerst müssen Sie das Paket über apt-get installieren:

    $ sudo apt-get install automysqlbackup

Nach Abschluss der Installation führt automysqlbackup tägliche Sicherungen im Verzeichnis /var/lib/automysqlbackup durch. Sie können eine Sicherung auch manuell starten, indem Sie Folgendes starten:

    $ sudo automysqlbackup

Sobald Sie fertig sind, können Sie die vorhandenen Sicherungen überprüfen, indem Sie einfach den Inhalt des Verzeichnisses auflisten:

    $ ls -R /var/lib/automysqlbackup/
    
    /var/lib/automysqlbackup/:
    
    daily  monthly  weekly
                    /var/lib/automysqlbackup/daily:
    
    exampledb  information_schema   performance_schema test  wordpress
                    /var/lib/automysqlbackup/daily/exampledb:
    
    exampledb_2019-08-03_06h48m.Sunday.sql.gz
    
    ...

Wenn alles richtig funktioniert hat, werden Sie eine Reihe von Dateien mit .sql.gz-Erweiterungen bemerken, wie oben gezeigt.

Wir empfehlen Ihnen, die zuletzt erstellten Sicherungen regelmäßig zu überprüfen und sicherzustellen, dass sie alle ordnungsgemäß funktionieren.

Automysqlbackup anpassen

Um die Sicherungshäufigkeit von automysqlbackup oder die für den Zugriff auf Ihre Datenbank erforderlichen Zugangsdaten zu ändern, können Sie die Konfigurationsdatei in /etc/default/automysqlbackup.

ändern

Einige der Einstellungen sind:

  • BENUTZERNAME:Benutzername, der verwendet wird, um sich bei der Datenbank anzumelden

  • PASSWORT:Datenbankpasswort

  • DBHOST:IP-Adresse oder Hostname

  • DBNAMES:Namen der zu sichernden Datenbanken

  • BACKUPDIR:Verzeichnis zum Speichern von Backups

Nachdem Sie die gewünschten Einstellungen geändert haben, speichern Sie die Datei, um die Änderungen zu übernehmen.


Linux
  1. So kopieren Sie eine MySQL-Datenbank

  2. MySQL:So sichern (dumpen) und wiederherstellen Sie eine Datenbank mit mysqldump

  3. So erstellen Sie ein Backup von MySQL-Datenbanken mit mysqldump unter Ubuntu 20.04

  4. So installieren Sie die MySQL-Datenbank unter Ubuntu 20.04

  5. So installieren Sie MySQL unter Ubuntu 22.04

So stellen Sie eine MySQL-Datenbank aus einer .SQL-Sicherung wieder her

Wie man eine Datenbank in MySQL erstellt

So sichern Sie eine MySQL-Datenbank in cPanel

So installieren Sie MySQL 8.0 auf Ubuntu 18.04

So installieren Sie phpMyAdmin unter Ubuntu 18.04

So planen Sie Dateisicherungen auf Google Drive unter Ubuntu