Datenbank aus Server-Backup exportieren

Vorwort

In diesem Artikel wird erklärt, wie Sie über das Kundencenter Ihre MySQL-Datenbanken aus dem Server-Vollbackup extrahieren können, um diese anschließend auf ein anderes System zu übertragen.


Voraussetzungen

  • V-Server
  • Berechtigung zum Anzeigen und Wiederherstellen von Backups im Kundencenter
  • vorhandenes Server Backup
  • FTP-Anwendung



Datenbankdatei aus Server-Backup herunterladen

Um Ihre Datenbanken aus dem Backup zu extrahieren, melden Sie sich zunächst im Kundencenter unter account.creoline.com an. Wählen Sie anschließend den gewünschten Server unter dem Menüpunkt Server aus und navigieren anschließend zu der Backup-Übersicht des ausgewählten Servers.

Backup-Übersicht


Klicken Sie neben der Schaltfläche Wiederherstellen auf das Datei-Symbol, um das entsprechende Server-Backup nach den gewünschten MySQL-Dateien zu durchsuchen.

Im Basisverzeichnis werden zunächst alle physikalischen Festplatten dargestellt. Navigieren Sie zu der gewünschten Festplatte und wählen Sie anschließend die Partition im Verzeichnis part aus. Je nach Betriebssystem werden die Dateien und Ordner unterschiedlich organisiert.

Sie finden das benötigte MySQL-Verzeichnis unter /var/lib/


Mithilfe des Download-Symbols am Ende der Zeile können Sie das ganze MySQL-Verzeichnis zum Download vorbereiten.

Backup Dateien/Ordner herunterladen


Sobald der Download bereitsteht, werden die benötigten Download-Informationen auf einer zusätzlichen Seite bereitgestellt. Zusätzlich erhalten Sie eine E-Mail mit einem Link zu dieser Informationsseite.


Nachdem der Download angefordert wurde, können Dateien und Ordner maximal für 12 Stunden heruntergeladen werden. Anschließend muss der Download erneut angefordert werden. Bereits laufende Downloads sind hiervon nicht betroffen.


Bitte beachten Sie, dass sehr große Verzeichnisse einige Zeit für die Download-Vorbereitung in Anspruch nehmen können. Sobald der Download bereitsteht, erhalten Sie eine zusätzliche E-Mail.


Um die Datei herunterzuladen, müssen Sie sich mit einer FTP-Anwendung Ihrer Wahl via FTPS oder SFTP verbinden. Verwenden die für Sie dazu die bereitgestellten Download-Informationen.



1. Übertragung des MySQL-Verzeichnisses und anschließende Erstellung des Datenbank-Dumps


Voraussetzungen

  • zweiter DB-Server
  • Exakt gleiche MariaDB-Version


Für diesen Artikelabschnitt wird eine aktive SSH-Sitzung mit dem Benutzer root vorausgesetzt.



Durchführung

Ermitteln Sie zuerst die installierte MariaDB-Version auf Ihrem Server, indem Sie sich per SSH auf Ihrem Server anmelden. Alternativ können Sie die Web-Konsole in unserem Kundencenter nutzen. In diesem Beispiel nutzen wir MariaDB in der Version 10.11.6.

Mit folgendem Befehl können Sie sich diese anzeigen lassen:

mariadb -V


Daraufhin sollten Sie folgende bzw. eine ähnliche Ausgabe erhalten:


Verbinden Sie sich mit dem zweiten Datenbankserver und ermitteln Sie ebenfalls die aktuell installierte Version.

Sollte Ihnen kein zweiter Server zur Verfügung stehen, bieten wir Ihnen die Möglichkeit, einen Server über uns zu bestellen, der eine Vertragslaufzeit von einer Stunde besitzt.


Wenn auf dem zweiten Server (im folgenden Server 2) noch kein MariaDB installiert sein sollte, können Sie dieses Paket in der gewünschten Version wie folgt installieren:

curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version="mariadb-10.11"
apt install mariadb-server


Eine Abfrage der MariaDB-Version sollte nun ebenfalls das folgende Ergebnis liefern:


Stoppen Sie auf Server 2 den MariaDB-Prozess:

systemctl start mariadb.service


Navigieren Sie zu dem Speicherort, den MariaDB zum Speichern der Datenbanken nutzt:

cd /var/lib/


Löschen Sie das Verzeichnis mysql:

rm -rf /var/lib/mysql


Laden Sie das Verzeichnis mysql aus dem Backup von Server 1 z.B. via FTP/SFTP in das Verzeichnis /var/lib/ hoch und prüfen Sie anschließend die Rechte.

Diese sollten wie folgt gesetzt sein:


Falls die Inhaber- und/oder die Gruppenzuweisung abweichen, können Sie diese mit folgendem Befehl korrigieren:

chown mysql:mysql /var/lib/mysql


Starten Sie den MariaDB-Server via:

systemctl start mariadb.service


Geben Sie den Befehl mysql ein und überprüfen danach mithilfe des SQL-Befehls SHOW DATABASES;, ob alle Datenbanken angezeigt werden:

Datenbankübersicht MySQL-CLI


Das Semikolon am Ende der SQL-Anweisung ist zwingend erforderlich, da die Befehls-Eingabe aus Sicht des MariaDB-Servers ansonsten noch nicht abgeschlossen ist.

Verlassen Sie das MySQL-CLI mit der Anweisung exit.


Abschließend kann von der gewünschten Datenbank ein SQL-Dump erstellt werden:

mysqldump -u root -p DATENBANKNAME > DATENBANKNAME.sql


Um einen Dump aller verfügbarer Datenbanken zu erstellen, können Sie den Parameter --all-databases nutzen:

mysqldump -u root -p --all-databases > DATENBANKNAME.sql


Durch die Verwendung des Parameters --all-databases kann bei großen Datenbanken bzw. Datenbankservern dazu führen, dass die Erstellung des SQL-Dumps erheblich länger dauert!


Übertragen Sie diesen wieder via FTP/SFTP oder alternativ mittels rsync oder scp:

rsync:

rsync -az DATENBANKNAME.sql root@sXXXXX.creolineserver.com:/tmp


scp:

scp DATENBANKNAME.sql root@sXXXXX.creolineserver.com:/tmp


Sie können auch statt /tmp ein Verzeichnis Ihrer Wahl angeben.

Navigieren Sie anschließend zu dem Verzeichnis, in das Sie den SQL-Dump übertragen haben.


Stellen Sie vor der Wiederherstellung einzelner Datenbanken sicher, dass die angegebene Datenbank existiert! Diese können Sie über Plesk anlegen, oder mittels MySQL-CLI.\nNutzen Sie zum Starten der MySQL-CLI den Befehl mysql und erstellen danach mit der SQL-Anweisung CREATE DATABASE <Datenbankname>; die wiederherzustellende Datenbank. Verlassen Sie anschließend das MySQL-CLI durch die Eingabe von exit


Dieser kann folgendermaßen z. B. auf Server 1 für die Wiederherstellung der Datenbank verwendet werden:

mysql -u root –p DATENBANKNAME < DATENBANKNAME.sql


Danach werden Sie dazu aufgefordert, das Passwort des entsprechenden Benutzers anzugeben.


Falls kein Kennwort für den lokalen Zugriff des aktuellen SSH-Benutzers auf den MariaDB-Server konfiguriert wurde, dieser aber die Berechtigung für den Zugriff hat, verwenden Sie folgenden Befehl zur Wiederherstellung der Datenbank:

mysql DATENBANKNAME < DATENBANKNAME.sql



2. Export über automatisches DB-Backup

Voraussetzungen

  • vorhandener SQL-Dump


Für diesen Artikelabschnitt wird eine aktive SSH-Sitzung mit dem Benutzer root vorausgesetzt.


Wie Sie ein automatisches Datenbank-Backup einrichten, erfahren Sie in diesem Artikel: https://help.creoline.com/doc/datenbank-backups-MOjT9Y3NYF



Durchführung

Sollte auf Ihrem Server bereits ein Datenbank-Dump vorhanden sein, können Sie diesen über die Backup-Übersicht als Einzeldatei herunterladen. Navigieren Sie hierzu in das Verzeichnis, in dem sich dieser befindet und laden Sie diesen als Einzeldatei herunter.


Backup Dateien/Ordner herunterladen


Übertragen Sie diesen anschließend mittels FTP/SFTP oder rsync bzw. scp auf den entsprechenden Server.


Um die Größe des Backups zu verringern, werden diese bei uns standardmäßig mit gzip komprimiert.


Befehl zur Übertragung mit rsync:

rsync -az backup_02_08_2024_10_33.sql.gz root@sXXXXX.creolineserver.com:/tmp

Befehl zur Übertragung mit scp:

scp backup_02_08_2024_10_33.sql.gz root@sXXXXX.creolineserver.com:/tmp


Um die entsprechende Datenbank wiederherstellen zu können, muss der Dump zuerst entpackt werden.

Führen Sie dazu folgenden Befehl aus:

gzip -d backup_02_08_2024_10_33.sql.gz


Geben Sie den Befehl mysql ein und überprüfen danach mithilfe des SQL-Befehls SHOW DATABASES;, ob die Datenbank, die Sie wiederherstellen wollen, auch existiert. Sollte diese nicht existieren, können Sie diese mit der SQL-Anweisung CREATE DATABASE <Datenbankname>; erstellen.

Ersetzen Sie <Datenbankname> durch den entsprechenden Namen der Datenbank.


Das Semikolon am Ende der SQL-Anweisung ist zwingend erforderlich, da die Befehls-Eingabe aus Sicht des MySQL-Servers ansonsten noch nicht abgeschlossen ist.


Datenbankübersicht MySQL-CLI

Verlassen Sie das MySQL-CLI mit der Anweisung exit, nachdem Sie die Datenbank angelegt haben.

Anschließend können Sie die gewünschte Datenbank mit folgendem Befehl wiederherstellen.

mysql -u root –p DATENBANKNAME < backup_02_08_2024_10_33.sql

Danach werden Sie dazu aufgefordert, das Passwort des entsprechenden Benutzers anzugeben.


Falls kein Kennwort für den lokalen Zugriff des aktuellen SSH-Benutzers auf den MariaDB-Server konfiguriert wurde, dieser aber die Berechtigung für den Zugriff hat, verwenden Sie folgenden Befehl zur Wiederherstellung der Datenbank:

mysql DATENBANKNAME < backup_02_08_2024_10_33.sql