Wie erstelle ich ein Backup der Datenbank mithilfe von SSH?

Wie erstelle ich ein Backup der Datenbank mithilfe von SSH?

Die Datenbank kann via SSH entweder auf dem Server, oder lokal auf dem Rechner gesichert werden. Um das Backup in einem bestimmten Verzeichnis auf dem Server zu speichern, sollte die Anmeldung an den Server via SSH bereits erfolgt sein, das Zielverzeichnis angelegt, und mittels des cd Befehls dahin navigiert worden sein.

Das Ausführen des folgenden Befehls speichert die entstehende Backup-Datei im aktuellem Verzeichnis:

mysqldump --no-tablespaces -u DB-USER -p DB-NAME > dateiname.sql

Das Backup kann auch vom Server direkt auf den lokalen PC heruntergeladen werden. Dazu muss lediglich die lokale Konsole geöffnet sein, der folgende Befehl lädt die Datei nachfolgend in das Verzeichnis, in dem man sich mit der Konsole zur Zeit befindet (auch lokal kann mittels cd das Verzeichnis gewechselt werden):

ssh SSH-USER@HOST "mysqldump --no-tablespaces -u DB-USER -p DB-NAME | gzip -9" > lokaler-dateiname.sql.gz

Was bedeutet --no-tablespaces?

Die Option --no-tablespaces deaktiviert sozusagen die Notwendigkeit, PROCESS-Rechte zu besitzen, um ein Backup der Datenbank anlegen zu dürfen. Auszug aus der Dokumentation (mysql 5.7):

mysqldump erfordert mindestens das SELECT-Recht für Tabellen, SHOW VIEW für Views, TRIGGER für Trigger, LOCK TABLES, wenn die Option –single-transaction nicht benutzt wird, und (ab MySQL 5.7.31) PROCESS, wenn die Option –no-tablespaces nicht benutzt wird. Bestimmte Optionen können andere Privilegien erfordern, wie in den Optionsbeschreibungen angegeben.

Wie importiere ich eine Datenbank mit SSH?

Für den Import gehen wir davon aus, dass die Datenbank so exportiert wurde, wie oben beschrieben. Um den Import zu vereinfachen, laden Sie die entpackte .sql-Datei in einen beliebigen Ordner auf Ihrem FTP-Server. Achten Sie nur darauf, dass der Ordner nicht unbedingt öffentlich zugänglich ist, um ein Auslesen von empfindlichen Informationen zu vermeiden. Melden Sie sich anschließend per SSH auf dem Server an, auf dem Sie eben das Datenbank-Backup hochgeladen haben und navigieren Sie per cd in das Verzeichnis mit dem Backup.

Hier können Sie folgenden Befehl ausführen, um die Datei in eine leere Datenbank zu importieren

mysql -u DB-USER -p DB-NAME < dateiname.sql

.gz Datei lokal importieren

Um eine Datenbank, die lokal als Datei mit der Formatendung .gz heruntergeladen wurde, in eine lokale Datenbank einzuspielen, kann der folgende Befehl verwendet werden:

zcat < DATEI-NAME.sql.gz | mysql -u DB-USER -p DB-NAME
Dieser Befehl bezieht sich auf die Verwendung von macOS

Hinweis!

Der SSH-Zugriff ist in den von uns angebotenen Hosting-Paketen i.d.R. gesperrt, um ein potenzielles Sicherheitsrisiko auszuschließen. Wenn Sie Laie auf diesem Gebiet sind, sehen Sie bitte von der Nutzung des SSH-Zugriffs ab, sondern nutzen die von uns zur Verfügung gestellten Mittel (FTP, LiveConfig, phpMyAdmin).

Sprechen Sie uns für ein schnelles Backup auch gerne an! Wir können Ihren Webspace innerhalb von kurzer Zeit sichern und Ihnen ein Angebot zur regelmäßigen Sicherung Ihrer Daten machen.

*Pflichtangaben Bitte beachten Sie unsere Datenschutzrichtlinien.
↓ Nehmen Sie jetzt Kontakt zu unserem Expertern auf ↓
Immo W. Fietz

Immo W. Fietz

eCommerce Berater seit 24 Jahren
Karte mit Standort von FIETZ.MEDIEN