So schreiben Sie ein MySQL-Sicherungsskript

So schreiben Sie ein MySQL-Sicherungsskript

Vorwort:

Die Bedeutung einer Datenbanksicherung liegt auf der Hand, insbesondere in einer Produktionsumgebung, wo jeder Datenverlust schwerwiegende Folgen haben kann. Daher sollten wir unabhängig von der Umgebung über eine entsprechende Sicherungsstrategie verfügen, um die Datenbank regelmäßig zu sichern. In MySQL ist mysqldump das am häufigsten verwendete logische Sicherungstool. Dieser Artikel stellt die Methode der geplanten Sicherung von MySQL vor.

1. Entwickeln Sie eine geeignete Backup-Strategie

Für unterschiedliche Datenbankumgebungen sollten wir unterschiedliche Sicherungsstrategien in Betracht ziehen. Bei der Entwicklung einer Backup-Strategie sollten Sie die folgenden Faktoren berücksichtigen:

  • Physisches Backup oder logisches Backup. Dies kann anhand der Größe der Datenbank bestimmt werden. Wenn sie beispielsweise kleiner als 100 G ist, verwenden Sie ein logisches Backup, und wenn sie größer als 100 G ist, verwenden Sie ein physisches Backup.
  • Aufbewahrungszeitraum für Sicherungsdateien. Dies kann durch die Größe der Festplatte bestimmt werden und wird im Allgemeinen mindestens 7 Tage lang aufbewahrt.
  • Der Zeitpunkt, zu dem die Sicherung durchgeführt wurde. Dies wird normalerweise außerhalb der Spitzenzeiten durchgeführt, beispielsweise am frühen Morgen, wenn Sicherungsvorgänge durchgeführt werden.
  • Sicherungsintervall. Es wird grundsätzlich empfohlen, einmal täglich ein Backup durchzuführen. Wenn das System nicht so wichtig ist, kann das Backup-Intervall verlängert werden.
  • Gibt es eine Sklavenbibliothek? Wenn eine Slave-Datenbank vorhanden ist, wird empfohlen, die Daten in der Slave-Datenbank zu sichern, um den Druck auf die Master-Datenbank zu verringern.

2. Linux-Systemsicherungsskript

Im Linux-System können wir crontab verwenden, um Sicherungsskripte auszuführen. Wenn Sie nicht viel über crontab wissen, können Sie sich die folgende Einführung ansehen, um schnell mehr darüber zu erfahren.

Crontab ist ein Befehl, der häufig in Unix- und Unix-ähnlichen Betriebssystemen verwendet wird und dazu dient, Anweisungen festzulegen, die regelmäßig ausgeführt werden sollen.

Format:

* * * * * Befehl
Zeitaufteilung bei täglichen, monatlichen und wöchentlichen Befehlen

Die erste Spalte gibt die Minuten von 1 bis 59 an. Jede Minute wird durch * oder */1 dargestellt. Die zweite Spalte gibt die Stunden von 1 bis 23 an (0 steht für 0 Uhr).
Die dritte Spalte stellt das Datum 1 bis 31 dar
Die vierte Spalte repräsentiert die Monate 1 bis 12
Spalte 5 gibt den Wochentag von 0 bis 6 an (0 für Sonntag)
Spalte 6 Der auszuführende Befehl

crontab -e Bearbeiten Sie die Einstellungen für geplante Aufgaben unter diesem Benutzer
crontab -l listet alle geplanten Aufgaben unter diesem Benutzer auf

Schreiben wir nun das Backup-Skript. Hier ist ohne weitere Umschweife die Skriptvorlage:

#!/bin/bash
# -----------------------------------------------------------------------------------
# Dateiname: mysql_backup.sh 
# Beschreibung: Wird für die Datenbanksicherung verwendet
# Revision: 1.0
# Datum: 11.08.2020
# Autor: wang

# Legen Sie den Benutzernamen und das Passwort für die MySQL-Anmeldung fest (je nach tatsächlicher Situation ausfüllen).
mysql_user = "root"
mysql_password = "IhrPasswort"
mysql_host = "lokaler Host"
mysql_port = "3306"
Backup-Verzeichnis = /data/mysql_backup

dt=Datum +'%J%m%d_%H%M'
echo "Beginndatum der Sicherung:" $(date +"%Y-%m-%d %H:%M:%S")

# Alle Datenbanken sichernmysqldump -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password -R -E --all-databases --single-transaction > $backup_dir/mysql_backup_$dt.sql

finde $backup_dir -mtime +7 -type f -name '*.sql' -exec rm -rf {} \;
echo "Sicherung erfolgreich abgeschlossen:" $(date +"%Y-%m-%d %H:%M:%S")

Das obige Skript kann entsprechend den tatsächlichen Bedingungen geändert werden, z. B. um eine bestimmte Bibliothek zu sichern, die Aufbewahrungszeit zu ändern usw. Nachdem Sie das Skript geschrieben haben, achten Sie auf das Debuggen. Nachdem das Debuggen abgeschlossen ist, können Sie es bereitstellen. Wenn wir beispielsweise planen, jeden Tag um 2 Uhr morgens ein Backup durchzuführen, können wir eine geplante Aufgabe wie diese festlegen.

# Achten Sie auf die Berechtigung zur Skriptausführung und ändern Sie den Skriptpfad 00 02 * * * sh /root/scripts/mysql_backup.sh > /root/scripts/mysql_backup.log 2>&1

3. Windows-Systemsicherungsskript

Das Windows-Systemsicherungsskript ist ähnlich, mit dem Unterschied, dass es zu einem Bat-Skript wird und für die Ausführung zu einem geplanten Zeitpunkt geplant werden muss. Beispielsweise können wir ein Verzeichnis MySQLdata_Bak auf dem Laufwerk E erstellen und in diesem Verzeichnis ein Verzeichnis mysql_backup erstellen, um Sicherungsdateien zu speichern. mysql_bak.bat ist das Sicherungsskript. Der Inhalt des Skripts lautet wie folgt (Sicherungsdateien von vor 7 Tagen automatisch löschen):

rem autor:wang
Restdatum:20200811
rem ******MySQL-Backup starten********
@echo aus
forfiles /p "E:\MySQLdata_Bak\mysql_backup" /m backup_*.sql -d -7 /c "cmd /c del /f @Pfad"
setze "Ymd=%Datum:~0,4%%Datum:~5,2%%Datum:~8,2%0%Zeit:~1,1%%Zeit:~3,2%%Zeit:~6,2%"
"E:\mysql5.7.23\bin\mysqldump" -uroot -p123456 -P3306 --default-character-set=utf8 -R -E --single-transaction --all-databases > "E:\MySQLdata_Bak\mysql_backup\backup_%Ymd%.sql"
@echo an
rem ******MySQL-Backup-Ende********

Das obige Skript dient nur als Referenz und kann entsprechend Ihrer eigenen Umgebung leicht geändert werden. Ebenso kann das Skript nach dem Debuggen zur geplanten Aufgabe hinzugefügt werden. Wenn Sie nicht viel über geplante Aufgaben in Windows wissen, können Sie auf Baidu danach suchen, was auch recht praktisch und einfach ist.

4. Backup-Verfügbarkeitsprüfung

Neben der Datensicherung ist es sehr wichtig, die Verfügbarkeit der Sicherungsdaten zu überprüfen. Stellen Sie sich vor, wie ärgerlich es wäre, wenn Sie bei der Wiederherstellung der Daten plötzlich feststellen würden, dass alle von Ihnen gespeicherten Sicherungsdaten ungültig sind. Viele Freunde schreiben Backup-Skripte und fügen sie zu geplanten Aufgaben hinzu. Dann prüfen sie einfach, ob die geplanten Aufgaben ausgeführt werden und ob sich Dateien im Backup-Verzeichnis befinden. Sie stellen oft fest, dass es Probleme mit den Backup-Daten gibt, wenn sie die Backup-Dateien verwenden müssen.

Derzeit gibt es keine besonders praktische Möglichkeit, die Daten von Sicherungsdateien zu überprüfen. Die am häufigsten verwendete Methode besteht darin, die Sicherungsdateien regelmäßig für Sicherungs- und Wiederherstellungsübungen herauszuziehen. Wenn Sie beispielsweise einmal im Monat eine Sicherungs- und Wiederherstellungsübung durchführen, kann dies die Verfügbarkeit von Sicherungsdateien effektiv verbessern und Ihnen Sicherheit geben.

Denken Sie daher nicht, dass ein Backup absolut sicher ist. Sie sollten auch überprüfen, ob das Backup-Skript korrekt ausgeführt wird und ob der Inhalt des erstellten Backup-Skripts verfügbar ist. Am besten führen Sie regelmäßig Wiederherstellungsübungen durch.

Zusammenfassen:

In diesem Artikel wird hauptsächlich das MySQL-Skript für geplante Sicherungen unter Linux- und Windows-Systemen beschrieben. Der Inhalt des Skripts ist relativ einfach und klar und die Funktionen sind nicht kompliziert. Wenn Sie andere Sicherungsanforderungen haben, können Sie es auf dieser Grundlage ändern und verbessern. Wenn dieser Artikel für Sie hilfreich ist, teilen und leiten Sie ihn bitte weiter.

Oben finden Sie ausführliche Informationen zum Schreiben eines MySQL-Sicherungsskripts. Weitere Informationen zum MySQL-Sicherungsskript finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Eine kurze Analyse der MySQL-Sicherung und -Wiederherstellung
  • Detaillierte Erläuterung der MySQL-Sicherung und -Wiederherstellung
  • MySQL-Lösung für zeitgesteuerte Backups (mithilfe von Linux crontab)
  • Kurze Analyse der geplanten MySQL-Sicherungsaufgaben
  • So sichern Sie das Skript für Linux-Server automatisch (MySQL, Sicherung von Anhängen)
  • Linux sichert regelmäßig die MySQL-Datenbank und löscht vorherige Sicherungsdateien (empfohlen)
  • So implementieren Sie eine geplante automatische Sicherung von MySQL unter CentOS7
  • Codebeispiele für die Sicherung mehrerer MySQL-Datenbanken
  • So sichern Sie MySQL-Kontoinformationen elegant

<<:  Detailliertes Tutorial zur Bereitstellung einer OpenStack-Umgebung basierend auf CentOS (OpenStack-Installation)

>>:  jQuery implementiert die Funktion zum Hinzufügen und Löschen von Mitarbeiterinformationen

Artikel empfehlen

Detaillierte Analyse jeder Phase der HTTP-Anforderungsverarbeitung von Nginx

Beim Schreiben des HTTP-Moduls von nginx müssen d...

Auszeichnungssprache - Phrasenelemente

Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...

So erzwingen Sie die vertikale Anzeige auf mobilen Seiten

Ich habe kürzlich bei der Arbeit eine mobile Seit...

Referenzschreiben im JS- und CSS-Stil

CSS: 1. <link type="text/css" href=&q...

Ein Artikel zum Verständnis von MySQL Index Pushdown (ICP)

Inhaltsverzeichnis 1. Einleitung 2. Grundsatz Pra...

Lösung zur Bereinigung des Docker-Festplattenspeichers

Vor einiger Zeit stieß ich auf das Problem, dass ...

Vue implementiert Paging-Funktion

In diesem Artikelbeispiel wird der spezifische Co...

JavaScript zum Erzielen eines Akkordeoneffekts

In diesem Artikel wird der spezifische Code für J...