Wenn Du dich hierher verirrt hst, brauche ich dir nicht zu erklären, warum regelmäßige Backups von MySQL-Datenbanken wichtig sind, um Datenverluste zu vermeiden. Die wichtigste Frage, die sich viele Leute stellen, ist, wo sie diese Backups speichern sollen. Vor allem bei größeren Datenbanken, die viel Speicherplatz benötigen, ist Object Storage aufgrund seiner skalierbarkeit und seiner geringen Kosten die Lösung schlechthin.
In diesem Artikel zeigen wir euch, wie Du die Backups deiner MySQL-Datenbank auf Contabo’s S3-kompatiblem Object Storage direkt von der Kommandozeile aus durchführen kannst. Dies ist möglich, da Contabo’s Object Storage mit AWS CLI (Amazon Web Services Command Line Interface) kompatibel ist.
Diese Anleitung ist zudem viel kürzer als viele andere Anleitungen, die man online finden kann. Dies ist der kompatibilität mit AWS CLI zu verdanken, die die Konfiguration von Object Storage viel einfacher macht als die arbeit mit anderen Speicherlösungen.
Außerdem ist es dank der oben erwähnten S3-Kompatibilität sehr einfach, Backups von einem Linux-Server auf einen Object Storage zu verschieben.
Noch nie von Contabo’s Object Storage gehört? Hier erfährst du mehr.
Vorraussetzung/Vorbereitung
Um ein Backup deiner MySQL-Datenbank auf einen Object Storage durchzuführen, sind folgende Dinge erforderlich:
- Ein S3-kompatibler Object Storage mit folgenden Zugangsdaten:
- Dein Access Key
- Dein Secret Key
- Deine S3 URL
- AWS CLI, das bereits auf deinem Server installiert (und konfiguriert) ist, auf dem sich die MySQL Datenbank befindet.
Wenn Du wissen möchtest, wie du AWS CLI auf deinem Server installierst und konfigurierst, lies unsere Dokumentation hier.
Erstellen eines lokalen Backups der Datenbank
Bevor Du die Sicherung deiner MySQL-Datenbank auf deinen Object Storage hochladen kannst, musst du zunächst ein lokales Backup erstellen.
Glücklicherweise geht das mit einem einzigen Befehl:
mysqldump -u [Benutzername] -p[Passwort] [Datenbankname] > backup.sql
Je nach Größe deiner Datenbank kann dieser Vorgang eine Weile dauern.
Ersetze [Benutzername] und [Passwort] durch deine Anmeldedaten deiner MySQL-Instanz.
Zudem musst du [Datenbankname] durch den Namen der Datenbank ersetzen, die du backupen willst.
Die “backup.sql” ist der Name deines Backups. Wenn du willst, kannst du auch einen anderen Namen vergeben.
Backup auf Object Storage hochladen
Um dein lokales Backup deiner Datenbank auf Contabo’s Object Storage hochzuöaden, nutze folgenden Befehl:
aws --profile eu2 --region default --endpoint-url [deine_s3_url] s3 cp [name_deiner_backup_datei] s3://[bucket_name]
Automatische Datenbanksicherung mit Cron
Um regelmäßige Backups einer bestimmten Datenbank zu planen, musst du die folgenden zwei Dinge tun:
1. Shell-Script erstellen
Zunächst erstellen wir ein Shell-Script, das ein lokale Backup einer bestimmten Datenbank erstellt und dieses Backup über die AWS CLI auf den Contabo Object Storage hochläd.
Nutze hierfür den folgenden Befehl:
nano database-to-os.sh
Füge nun den folgenden Inhalt ein:
#!/bin/bash
mysqldump -u [benutzername] -p[passwort] [datenbank_name] > backup.sql
aws --profile eu2 --region default --endpoint-url [deine_s3_url] s3 cp [name_deiner_backup_datei] s3://[bucket_name]
Speicher das Script mit [STRG] + O ab und verlasse den Editor mit [STRG] + X
Mache das Script nun mit folgendem Befehl ausführbar:
chmod +x database-to-os.sh
2. Crontab-File Bearbeiten
Öffne nun die Crontab-Datei, in der Du die Backups mit diesem Befehl planen kannst:
crontab -e
Und füge folgenden Inhalt ein:
0 3 * * * /[Pfad_zum_Skript]/databse-to-os.sh
Mit diesem Script wird jeden Tag um 3:00 Uhr nachts eine Sicherung deiner Datenbank durchgeführt. Wenn Du einen anderen Zeitplan wünscht, änder einfach den eingefügten Inhalt ab. Weitere Informationen über die Syntax von Cron findest Du in der Datei selbst.
Fazit
Zusammenfassend lässt sich sagen, dass die Sicherung von MySQL-Datenbanken auf einem Object Storage mit AWS CLI ein einfacher und effizienter Prozess ist, der eine zusätzliche Schutzschicht für wichtige Daten bieten kann. Mit Hilfe der AWS CLI und den in diesem Artikel beschriebenen Befehlen könnt ihr den Backup Prozess leicht automatisieren, regelmäßige Backups planen und die Backups sicher im Object Storage speichern.