So sichern Sie MySQL regelmäßig und laden es auf Qiniu hoch

So sichern Sie MySQL regelmäßig und laden es auf Qiniu hoch

In den meisten Anwendungsszenarien müssen wir wichtige Daten sichern und für den Notfall an einem sicheren Ort aufbewahren.

Zu den gängigen Methoden zur MySQL-Datensicherung gehören das direkte Verpacken und Kopieren der entsprechenden Datenbank- oder Tabellendateien (physische Sicherung), die vollständige logische Sicherung mit mysqldump, die inkrementelle logische Sicherung mit xtrabackup usw.

Zu den gängigen Datenspeichermethoden gehören lokale Speicherung, FTP-Upload auf einen Remote-Server, Cloud-Speicher (wie Alibaba Cloud OSS, Qiniu Cloud Storage usw.) und sogar lokale Speicherung.

Möglicherweise möchten wir nicht jedes Mal manuell eine Sicherung durchführen, noch möchten wir bei jedem Herunterladen so viel Zeit aufwenden, noch möchten wir die Daten auf dem Server verlieren, weil wir eine externe Sicherung benötigen. Dann können wir versuchen, ein Skript zu schreiben, um die Datenbank regelmäßig zu sichern und sie dann automatisch auf einen bestimmten Server oder in einen Cloud-Speicher hochzuladen.

Hier sprechen wir darüber, wie Sie MySQL auf einem Linux-Server sichern und in den Qiniu Cloud Storage hochladen.

Vorbereitung

• Linux

•Crontab-Dienst

Sie müssen sicherstellen, dass sich der Crond-Dienst im gestarteten und automatisch gestarteten Zustand befindet.

•gzip-Befehl

Das System muss in der Lage sein, den Befehl gzip normal auszuführen, um Dateien zu komprimieren.

•mysqldump-Befehl

Zur logischen Datensicherung muss das System in der Lage sein, den Befehl mysqldump normal auszuführen. Die von mysqldump gesicherten Daten bestehen aus ausführbarem SQL und es liegt kein Problem mit Versionsinkompatibilität vor.

•qshell-Werkzeug

qshell ist ein Befehlszeilentool, das Qiniu Cloud offiziell unter Verwendung der öffentlichen API in Qiniu-Dokumenten implementiert, um Entwicklern das Testen und Verwenden von Qiniu-API-Diensten zu erleichtern.

Spezifische Dokumente und Download-Adresse: https://developer.qiniu.com/kodo/tools/1302/qshell

• Qiniu Cloud-Konto

Voraussetzung für die Datenspeicherung ist natürlich ein Qiniu-Konto. Qiniu stellt Privatpersonen 10 GB kostenlosen Speicherplatz zur persönlichen Nutzung zur Verfügung. Registrierte Adresse:
https://portal.qiniu.com/signup?code=3looatwobaxci

• Qiniu-Lagerraum

Nachdem Sie ein Qiniu Cloud-Konto haben, müssen Sie in der Konsole manuell einen Speicherplatz (Bucket) zum Speichern von Daten erstellen.

Qshell-Konfiguration

Die von der offiziellen Adresse heruntergeladene Qshell ist ein komprimiertes Paket, das mehrere Systemplattformen unterstützt. Wählen Sie die Binärdatei unseres entsprechenden Systems aus und erteilen Sie ihr Ausführungsberechtigungen. Es kann auch in einem Verzeichnis wie /usr/local/bin/ platziert werden, um den direkten Aufruf des qshell-Befehls zu erleichtern.

Konfigurieren Sie das Qiniu-Konto. ak und sk befinden sich in der Qiniu Cloud Console > Persönliches Center > Schlüsselverwaltung.
Qshell-Konto ak sk

Dieser Befehl schreibt das ak/sk-Konto in ~/.qshell/account.json und es ist keine weitere Konfiguration erforderlich.

Der Qshell-Befehl, den wir hier verwenden, ist rput. Er dient zum Hochladen einer Datei im mehrteiligen Upload-Modus. Verwenden Sie das Dokument:

https://github.com/qiniu/qshell/blob/master/docs/rput.md

qshell rput <Bucket> <Schlüssel> <LokaleDatei> true

Weitere detaillierte Funktionen von qshell finden Sie in der Dokumentation.

Skriptinhalt

#!/bin/sh
#mysql-Datensicherungsskript
#
# Verwenden Sie mysqldump --help, um weitere Einzelheiten zu erhalten.
dbname=Ihr_Datenbankname
Benutzer=Ihr_Datenbankbenutzername
password=Ihr_Datenbankpasswort
bakDir=/opt/backup/sql
logFile=/opt/backup/mysqlbak.log
Datum/Uhrzeit = `Datum + %J%m%d%H%M%S`
keepDay=7
echo "------------------------------------------" >> $logFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $logFile
echo "--------------------------" >> $logFile
cd $bakDir
bakFile=$dbname.$datetime.sql.gz
mysqldump -u $user -p $password $dbname | gzip > $bakFile
echo "Datenbank [$dbname] Sicherung abgeschlossen" >> $logFile
echo "$bakDir/$bakFile" >> $logFile
echo "Starten Sie das Hochladen der Sicherungsdateien in den Qiniu Cloud Storage" >> $logFile
/usr/local/bin/qshell rput <Bucket> Datenbank/$bakFile $bakFile true | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g" >> $logFile 2>&1
echo "Lösche die Sicherungsdatei vor ${keepDay} Tagen" >> $logFile
finde $bakDir -ctime +$keepDay >> $logFile
finde $bakDir -ctime +$keepDay -exec rm -rf {} \;
echo " " >> $logFile
echo " " >> $logFile

Die Datenbankkonfiguration, Protokolldateien, Speicherpfad, <Bucket> usw. im Skript müssen von Ihnen selbst geändert werden und sind vorhanden. database/$bakFile steht für <Schlüssel>, also den Pfad und Dateinamen im Qiniu-Speicher, der angepasst werden kann.

Die Skriptdatei muss über Ausführungsberechtigungen verfügen. Erst dann kann das Skript zum Testen ausgeführt werden.

Geplante Aufgaben

# Führen Sie das Backup-Skript jeden Tag um 2 Uhr morgens aus * 2 * * * /opt/backup/baksql.sh

Wenn die geplante Aufgabe nicht ausgeführt wird, können Sie zur Behebung des Problems das Protokoll /var/log/cron überprüfen oder prüfen, ob crond ausgeführt wird.

Zusammenfassen

Oben ist die Methode, die ich Ihnen vorgestellt habe, um MySQL regelmäßig zu sichern und auf Qiniu hochzuladen. Ich hoffe, sie wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • Shell-Skript zum Implementieren geplanter MySQL-Sicherungs-, Lösch- und Wiederherstellungsfunktionen
  • Freigabe des Shell-Skripts für die geplante MySQL-Sicherung unter CentOS
  • MySQL-Lösung für zeitgesteuerte Backups (mithilfe von Linux crontab)
  • Kurze Analyse der geplanten MySQL-Sicherungsaufgaben
  • Beispiel für eine geplante MySQL-Datenbanksicherung
  • So implementieren Sie eine geplante Sicherung einer MySQL-Datenbank
  • Eine einfache Methode zum Implementieren einer geplanten Sicherung einer MySQL-Datenbank unter Linux
  • Linux führt jeden Tag eine automatische und geplante Sicherung der MySQL-Datenbank durch
  • Geplantes Teilen von Skripten für MySQL-Datenbanksicherungen
  • Implementierung eines geplanten MySQL-Sicherungsskripts unter Windows
  • Der beste Weg zum automatischen Sichern der MySQL-Datenbank (Windows-Server)
  • Verwenden von MySQL unter Windows: Implementieren automatischer zeitgesteuerter Sicherungen

<<:  Die Vollversion des gängigen Linux-Tools vi/vim

>>:  Detaillierte Erläuterung der Angular-Routing-Grundlagen

Artikel empfehlen

Detaillierte Erklärung der Sperrstruktur in MySQL

Mysql unterstützt 3 Arten von Sperrstrukturen Spe...

So handhaben Sie Bilder in Vue-Formularen

Frage: Ich habe in Vue ein Formular zum Hochladen...

Detaillierte Erklärung gängiger Befehle im Docker-Repository

Einloggen Docker-Anmeldung Schließen Sie die Regi...

Detaillierte Erläuterung der dauerhaften Speicherung von Redis unter Docker

In diesem Kapitel beginnen wir mit dem Betrieb vo...

So erstellen und implementieren Sie ein Node-Projekt mit Docker

Inhaltsverzeichnis Was ist Docker Clientseitiger ...

Ein netter HTML-Druckcode unterstützt das Umblättern

ylbtech_html_drucken HTML-Druckcode, unterstützt S...

Implementierung einer zirkulären Scroll-Listenfunktion basierend auf Vue

Hinweis: Sie müssen dem übergeordneten Container ...

IE8 bietet eine gute Erfahrung: Aktivitäten

Heute habe ich einen kleinen Vorgeschmack auf IE8...

Detaillierte Erklärung zur Verwendung von Scoped Slots in Vue.js-Slots

Inhaltsverzeichnis Keine Slots Vue2.x-Steckplätze...

So entfernen Sie die Kopfzeile aus der Elementtabelle

Dokumenthinweise mit dem Attribut show-header <...

Analyse mehrerer Gründe, warum Iframe weniger verwendet werden sollte

Die folgende Grafik zeigt, wie zeitaufwändig es is...

Details zur Verwendung von „order by“ in MySQL

Inhaltsverzeichnis 1. Einleitung 2. Haupttext 2.1...