MariaDB-Datenbanken über SSH-Tunnel sichern und wiederherstellen

Musst du eine MariaDB-Datenbank auf Sliplane sichern? Diese Anleitung zeigt dir, wie du Sicherungen sicher über einen SSH-Tunnel erstellen und wiederherstellen kannst. Diese Methode hält deine Datenbank privat, während du vollen Zugriff hast, ohne sie öffentlich verfügbar zu machen.
Was du lernen wirst
In dieser Anleitung lernst du:
- Einen SSH-Tunnel-Service in Sliplane einzurichten
- Sicherungen mit mysqldump über den Tunnel zu erstellen
- Datenbanken mit mysql wiederherzustellen
- Mit verschiedenen Backup-Formaten und Wiederherstellungsoptionen umzugehen
Hinweis: Wenn deine Datenbank bereits öffentlich ist und deine IP auf der Whitelist steht, kannst du dich direkt ohne SSH-Tunnel verbinden.
Voraussetzungen
Stelle vor dem Start sicher, dass du hast:
- MariaDB-Client-Tools installiert:
mysqldump
,mysql
- Deine Sliplane MariaDB-Datenbank-Anmeldedaten
- Ein Sliplane-Projekt mit einem laufenden MariaDB-Service
Schritt 1: SSH-Tunnel-Service erstellen
Erstelle zuerst einen dedizierten SSH-Tunnel-Service in deinem Sliplane-Projekt:
- Gehe in deinem Sliplane-Dashboard zu deinem Projekt
- Klicke auf Add Service → Presets → SSH Tunnel
- Verwende diese Einstellungen:
- Image:
ghcr.io/sliplane/docker-ssh:latest
- Environment Variables:
HOST=0.0.0.0
PORT=2222
ROOT_PASSWORD=
wähle ein starkes Passwort
- Image:
- Stelle den Service bereit und notiere seine öffentliche Domain (z.B.
ssh-tunnel-123.sliplane.app
)
Schritt 2: SSH-Tunnel herstellen
Öffne ein Terminal und erstelle einen lokalen Tunnel zu deiner Sliplane-Datenbank:
ssh -p 2222 \
[email protected] \
-L 3306:mariadb-service-name.internal:3306 \
-N
Ersetze mariadb-service-name.internal
mit dem internen Hostnamen deines MariaDB-Service. Halte dieses Terminalfenster während des Sicherungs-/Wiederherstellungsprozesses geöffnet.
Schritt 3: Verbindung testen
Überprüfe, ob der Tunnel funktioniert, bevor du Sicherungen erstellst:
mysql -h 127.0.0.1 -P 3306 -u dein-benutzer -p'dein-passwort' \
-e 'SELECT version();'
Wenn du die MariaDB-Version siehst, funktioniert dein Tunnel korrekt.
Schritt 4: Sicherung erstellen
Da dein SSH-Tunnel funktioniert, ist es Zeit, eine Sicherung zu erstellen. MariaDB bietet mehrere Backup-Optionen über mysqldump, jede mit unterschiedlichen Anwendungsfällen und Vorteilen.
Vollständige Datenbanksicherung (Empfohlen)
Dieses Format erstellt eine vollständige SQL-Sicherung deiner Datenbank:
mysqldump -h 127.0.0.1 -P 3306 \
-u dein-benutzer -p'dein-passwort' \
--single-transaction \
--routines \
--triggers \
--all-databases \
> backup-$(date +%F).sql
Bestimmte Datenbanksicherung
Sichere nur eine bestimmte Datenbank:
mysqldump -h 127.0.0.1 -P 3306 \
-u dein-benutzer -p'dein-passwort' \
--single-transaction \
--routines \
--triggers \
deine-datenbank \
> backup-$(date +%F).sql
Komprimierte Sicherung
Erstelle eine komprimierte Sicherung:
mysqldump -h 127.0.0.1 -P 3306 \
-u dein-benutzer -p'dein-passwort' \
--single-transaction \
--routines \
--triggers \
deine-datenbank \
| gzip > backup-$(date +%F).sql.gz
Bestimmte Tabellen sichern
Sichere nur bestimmte Tabellen:
mysqldump -h 127.0.0.1 -P 3306 \
-u dein-benutzer -p'dein-passwort' \
deine-datenbank \
tabelle1 tabelle2 \
> backup-$(date +%F).sql
Schritt 5: Wiederherstellen der Sicherung
Mit deiner Sicherungsdatei kannst du diese jetzt in deiner MariaDB-Datenbank wiederherstellen. Der Wiederherstellungsprozess hängt von deinem Backup-Format ab und davon, ob du in eine bestehende Datenbank wiederherstellst oder eine neue erstellst.
Vollständige Datenbank wiederherstellen
Aus SQL-Datei:
mysql -h 127.0.0.1 -P 3306 \
-u dein-benutzer -p'dein-passwort' \
< backup-YYYY-MM-DD.sql
Komprimierte Sicherung wiederherstellen
Aus gezippter Datei:
gunzip < backup-YYYY-MM-DD.sql.gz | \
mysql -h 127.0.0.1 -P 3306 \
-u dein-benutzer -p'dein-passwort'
Wiederherstellen zu bestimmter Datenbank
mysql -h 127.0.0.1 -P 3306 \
-u dein-benutzer -p'dein-passwort' \
zieldatenbank \
< backup-YYYY-MM-DD.sql
Datenbank während der Wiederherstellung erstellen
mysql -h 127.0.0.1 -P 3306 \
-u dein-benutzer -p'dein-passwort' \
-e "CREATE DATABASE IF NOT EXISTS zieldatenbank;"
mysql -h 127.0.0.1 -P 3306 \
-u dein-benutzer -p'dein-passwort' \
zieldatenbank \
< backup-YYYY-MM-DD.sql
Diese Methode gibt dir sicheren, zuverlässigen Zugriff auf deine MariaDB-Datenbank auf Sliplane für Sicherungen und Wiederherstellungen, während deine Infrastruktur sicher bleibt.