Jalara Studio

veröffentlicht am

Mit SSH auf dem Server eine SQL-Datei erstellen

# # # # # # #


Im folgendem Artikel wird gezeigt, wie du mit Secure Shell (kurz SSH) eine verschlüsselte Verbindung zu dem Server aufbaust und eine SQL-Datei mit deinen Datenbankinhalten auf deinem Webspace erstellst:

  1. Aktiviere SSH bei deinem Hostinganbieter (z.B. bei ALL-INKL unter ToolsSSH-ZugängeBearbeiten › Option: SSH ist aktivspeichern).
  2. Öffne die Kommandozeile bzw. den Terminal (macOS: (ProgrammeDienstprogrammeTerminal); Windows 10: mit Eingabe von cmd im Fenster Ausführen (zu öffnen über WIN + R)).
    Hinweis: In Windows 7 oder 8.1 wird das Tool Putty1 benötigst.)
  3. Gebe ssh SSH-BENUTZERNAME@WEBSITE-EXAMPLE.COM2 in die Kommandozeile ein und bestätige die Eingabe mit der Taste Enter. (Passe die Angabe SSH-BENUTZERNAME und WEBSITE-EXAMPLE.COM mit dem SSH-Benutzername und deiner Domain an.)
  4. Gebe anschließend dein Passwort (bei ALL-INKL das FTP-Passwort) ein, um die verschlüsselte Netzwerkverbindung zum Server aufzubauen.
  5. Gebe in die Kommandozeile mysqldump -u DATENBANK-BENUTZER -p'DATENBANK-PASSWORT' DATENBANKNAME > BACKUP.sql3 und bestätige die Eingabe mit der Taste Enter. (Passe die Angabe DATENBANK-BENUTZER, DATENBANK-PASSWORT, DATENBANKNAME und BACKUP mit dem Datenbank-Benutzer, Datenbank-Passwort, Datenbanknamen und dem gewünschten Dateinamen an.)
  6. Die SQL-Datei wird im Hauptverzeichnis erstellt. Du kannst mit Angabe exit die SSH-Verbindung wieder beenden.

SQL-Datei im Verzeichnis erstellen

Wenn du einen Unterordner oder eine Subdomain bei deinem Hostinganbieter erstellt hast, kannst du die SQL-Datei auch direkt in dieses Verzeichnis einfügen. Hierfür kannst du mit dem Befehl cd und anschließender Angabe des Ordners in das Verzeichnis springen: cd SUBDOMAIN.WEBSITE.EXAMPLE

Alternativ kannst du auch den Pfad zur Subdomain im mysqldump-Befehl angeben: Um den Pfad zum Unterordner oder der Subdomain herauszubekommen, erstelle eine PHP-Datei mit folgendem Inhalt, füge diese in das entsprechende Verzeichnis ein, in der auch die SQL-Datei gespeichert werden soll, und rufe die PHP-Datei im Browser auf:

<?php
    $path = getcwd();
    echo $path;
?>

Kopiere die Ausgabe des Pfades (z.B. /www/htdocs/SUBDOMAIN.WEBSITE.EXAMPLE) und lösche die Datei wieder. Gebe den Pfad nun im mysqldump-Befehl an: mysqldump -u DATENBANK-BENUTZER -p'DATENBANK-PASSWORT' "/www/htdocs/SUBDOMAIN.WEBSITE.EXAMPLE/BACKUP.sql" > BACKUP.sql

SQL-Datei mit GZIP komprimieren

Mit dem Befehl gzip -c BACKUP.sql > BACKUP.sql.gz lässt sich die SQL-Datei zusätzlich mit gzip auf dem Server komprimieren. (Passe die Angabe BACKUP mit dem gewählten Dateinamen an.)

Möchtest du die SQL-Datei mit Angabe des Pfades komprimieren, passe den gzip-Befehl entsprechend deines ermittelten Pfades an, z.B: gzip -c /www/htdocs/SUBDOMAIN.WEBSITE.EXAMPLE/BACKUP.sql > /www/htdocs/SUBDOMAIN.WEBSITE.EXAMPLE/BACKUP.sql.gz

SQL-Datei herunterladen

Nachdem du die SQL-Datei im entsprechendem Verzeichnis erstellt hast, kannst du diese mit dem curl-Befehl über die Kommandozeile auf deinen Rechner herunterladen: curl "http://SUBDOMAIN.WEBSITE.EXAMPLE/BACKUP.sql" -O

Hinweis: Achte hierbei darauf, dass du die SSH-Verbindung zuvor mit exit beendet hast.

Falls du die (Sub-)domain mit einem SSL-Schutz und einer .htpasswd-Datei geschützt hast, passe den curl-Befehl wie folgt entsprechend an4: curl "https://SUBDOMAIN.WEBSITE.EXAMPLE/BACKUP.sql" -O -u "NUTZERNAME:PASSWORT"
Links