wake-up-neo.com

mysqldump vom entfernten Host

Ist es möglich, eine Datenbank von einem Remote-Host über eine SSH-Verbindung zu sichern und die Sicherungsdatei auf meinem lokalen Computer zu haben.

Wenn ja, wie kann dies erreicht werden?

Ich gehe davon aus, dass es eine Kombination von Piping-Ausgaben von der ssh zum Dump oder umgekehrt geben wird, aber ich kann es nicht herausfinden.

31
Marty Wallace

Dies würde einen Speicherauszug erstellen, komprimieren und über SSH in Ihre lokale Datei streamen

ssh -l user remoteserver "mysqldump -mysqldumpoptions database | gzip -3 -c" > /localpath/localfile.sql.gz 
64
Michel Feldheim

Ausgehend von der @ MichelFeldheim-Lösung würde ich Folgendes verwenden:

$ ssh [email protected] "mysqldump -u user -p database | gzip -c" | gunzip > db.sql
16

ssh -f [email protected] -L 3306:server.com:3306 -N

dann:

mysqldump -hlocalhost > backup.sql

vorausgesetzt, Sie haben auch nicht, dass mysql lokal ausgeführt wird. Wenn Sie dies tun, können Sie den Port an etwas anderes anpassen.

3
Michael Irey

Ich habe ein script erstellt, um die Automatisierung von mysqldump-Befehlen auf entfernten Hosts zu vereinfachen, wobei die Antwort von Michel Feldheim als Ausgangspunkt verwendet wird:

mysqldump-remote

Mit dem Skript können Sie einen Datenbank-Dump mit oder ohne SSH von einem fernen Host abrufen und optional eine .env-Datei mit Umgebungsvariablen verwenden.

Ich plane, das Skript für automatisierte Datenbanksicherungen zu verwenden. Fühlen Sie sich frei, um erstellen Sie Probleme / - beitragen - hoffen Sie, dass dies auch anderen hilft!

1
Logan