Heim  >  Artikel  >  Datenbank  >  Detailliertes Beispiel für die Implementierung einer täglichen automatischen Sicherung und einer geplanten Sicherung der MySQL-Datenbank unter Linux

Detailliertes Beispiel für die Implementierung einer täglichen automatischen Sicherung und einer geplanten Sicherung der MySQL-Datenbank unter Linux

黄舟
黄舟Original
2017-09-05 13:22:481360Durchsuche

Backup ist die Grundlage der Notfallwiederherstellung. Es bezieht sich auf den Vorgang des Kopierens des gesamten oder eines Teils des Datensatzes von der Festplatte oder dem Array des Anwendungshosts auf andere Speichermedien, um Datenverluste durch Bedienungsfehler oder zu verhindern Systemausfälle. In diesem Artikel werden hauptsächlich die tägliche automatische Sicherung und die geplante Sicherung der MySQL-Datenbank unter Linux vorgestellt. Freunde, die sie benötigen, können sich auf die folgende

Übersicht

Sicherung ist Kapazität. Die Basis einer Katastrophe bezieht sich auf den Vorgang, bei dem der Datensatz ganz oder teilweise von der Festplatte oder dem Array des Anwendungshosts auf andere Speichermedien kopiert wird, um Datenverluste durch Bedienungsfehler oder Systemausfälle zu verhindern. Für einige Websites und Systeme ist die Datenbank alles, daher ist es wichtig, die Datenbank zu sichern!

Was ist Backup?

Detailliertes Beispiel für die Implementierung einer täglichen automatischen Sicherung und einer geplanten Sicherung der MySQL-Datenbank unter Linux

Warum sichern

Detailliertes Beispiel für die Implementierung einer täglichen automatischen Sicherung und einer geplanten Sicherung der MySQL-Datenbank unter Linux

Erstellung eines Notfallwiederherstellungsplans

Detailliertes Beispiel für die Implementierung einer täglichen automatischen Sicherung und einer geplanten Sicherung der MySQL-Datenbank unter Linux

Speichermedien

Optische Disc

Band

Festplatte

Disk-Array

DAS: Direct Attached Storage

NAS: Network Attached Storage

SAN: Storage Area Network

Cloud-Speicher

Hier verwenden wir hauptsächlich die lokale Festplatte als Speichermedium, um über das Hinzufügen und Verwenden geplanter Aufgaben und grundlegender Sicherungsskripte zu sprechen , und andere Speichermedien sind nur Medienzugriff. Die Methode kann unterschiedlich sein.

1. Überprüfen Sie den Speicherplatz:

Da es sich um eine geplante Sicherung handelt, müssen Sie einen Speicherplatz mit ausreichend Speicherplatz auswählen, um Probleme zu vermeiden verursacht durch Platzmangel führt zu Backup-Fehlern und Datenverlust!

Das Speichern auf der aktuellen Festplatte ist am einfachsten, wird jedoch am wenigsten empfohlen. Der Server verfügt über mehrere Festplatten. Wenn möglich, sollten Sie das Backup auf einer anderen Festplatte speichern. Wählen Sie ein besseres und sichereres Speichermedium ;


# df -h
Filesystem     Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 50G 46G 1.6G 97% /
tmpfs       1.9G 92K 1.9G 1% /dev/shm
/dev/sda1      485M 39M 421M 9% /boot
/dev/mapper/VolGroup-lv_home 534G 3.6G 503G 1% /home

2. Erstellen Sie ein Backup-Verzeichnis:

Wie wir aus dem sehen können Befehl oben: Unter /home ist ausreichend Speicherplatz vorhanden, sodass Sie in Betracht ziehen können, Sicherungsdateien in /home zu speichern Shell-Skript:


Bitte ersetzen Sie den Datenbanknamen im folgenden Befehl durch den tatsächlichen Datenbanknamen.

cd /home
mkdir backup
cd backup
Natürlich können Sie auch die tatsächlichen Namensregeln verwenden!

Geben Sie Folgendes ein/fügen Sie Folgendes ein:


Komprimieren Sie das Backup:

vi bkDatabaseName.sh


Hinweis:

#!/bin/bash
mysqldump -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql
Ersetzen Sie den Benutzernamen durch den tatsächlichen Benutzernamen.

Ersetzen Sie das Passwort durch das tatsächliche Passwort.


Ersetzen Sie den Datenbanknamen mit dem tatsächlichen Datenbanknamen;

#!/bin/bash
mysqldump -uusername -ppassword DatabaseName | gzip > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz

4. Ausführbare Berechtigungen hinzufügen:

Nach dem Hinzufügen Ausführbare Berechtigungen: Führen Sie es zuerst aus, um festzustellen, ob das Skript fehlerhaft ist und ob es normal verwendet werden kann.

5 Geplante Aufgaben


chmod u+x bkDatabaseName.sh
Crontab erkennen oder installieren

Bestätigen Sie, ob Crontab installiert ist:

Führen Sie den Befehl „crontab“ aus es ist nicht installiert

Wenn crontab noch nicht installiert ist, müssen Sie es zuerst installieren:

Verwendung den Befehl yum, um das Programm für geplante Aufgaben crontab unter CentOS zu installieren

Verwenden Sie den Befehl rpm, um das Programm für geplante Aufgaben crontab von der CentOS-Systemfestplatte zu installieren

Fügen Sie eine geplante Aufgabe hinzu


Führen Sie den Befehl aus:

# crontab
-bash: crontab: command not found

Zu diesem Zeitpunkt können Sie, genau wie mit dem vi-Editor, die geplanten Aufgaben bearbeiten.

Geben Sie folgenden Inhalt ein und speichern Sie:


Was genau bedeutet das?

crontab -e
bedeutet, dass das Shell-Skript „/home/backup/bkDatabaseName.sh“ jede Minute ausgeführt wird.

6. Testen Sie, ob die Aufgabe ausgeführt wird


*/1 * * * * /home/backup/bkDatabaseName.sh
Es ist ganz einfach, den Befehl „ls“ mehrmals auszuführen und zu prüfen, ob die Aufgabe ausgeführt wird Die Datei ist nach einer Minute da. Ohne Erstellung ist alles in Ordnung!

Wenn die Aufgabenausführung fehlschlägt, können Sie das Aufgabenprotokoll mit dem folgenden Befehl anzeigen:

Die Ausgabe ähnelt der folgenden:


Zusammenfassung

# tail -f /var/log/cron

Das obige ist der detaillierte Inhalt vonDetailliertes Beispiel für die Implementierung einer täglichen automatischen Sicherung und einer geplanten Sicherung der MySQL-Datenbank unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn