Sichern und Wiederherstellen von MySQL/MariaDB-Datenbanken mit PHP

Für Webhosting Linux-Pakete

In diesem Artikel stellen wir Ihnen zwei PHP-Skripte vor, mit denen Sie Ihre Datenbanken sichern und wiederherstellen können.

Datenbank sichern

Das folgende PHP-Skript erstellt einen sogenannten SQL-Dump. Dabei handelt es sich um eine Textdatei, die alle für eine Wiederherstellung der Datenbank benötigten Daten und Instruktionen im SQL-Format enthält.

<?php
//Tragen Sie hier Ihre Datenbankinformationen ein und den Namen der Backup-Datei
$mysqlDatabaseName ='Datenbankname';
$mysqlUserName ='Benutzername';
$mysqlPassword ='Passwort';
$mysqlHostName ='dbxxx.hosting-data.io';
$mysqlExportPath ='Ihr-gewünschter-Dateiname.sql';

//Bei den folgenden Punkten bitte keine Änderung durchführen
//Export der Datenbank und Ausgabe des Status
$command='mysqldump --opt -h' .$mysqlHostName .' -u' .$mysqlUserName .' -p' .$mysqlPassword .' ' .$mysqlDatabaseName .' > ' .$mysqlExportPath;
exec($command,$output,$worked);
switch($worked){
case 0:
echo 'Die Datenbank <b>' .$mysqlDatabaseName .'</b> wurde erfolgreich im folgenden Pfad abgelegt '.getcwd().'/' .$mysqlExportPath .'</b>';
break;
case 1:
echo 'Es ist ein Fehler aufgetreten beim Exportieren von <b>' .$mysqlDatabaseName .'</b> zu '.getcwd().'/' .$mysqlExportPath .'</b>';
break;
case 2:
echo 'Es ist ein Fehler beim Exportieren aufgetreten, bitte prüfen Sie die folgenden Angaben: <br/><br/><table><tr><td>MySQL Database Name:</td><td><b>' .$mysqlDatabaseName .'</b></td></tr><tr><td>MySQL User Name:</td><td><b>' .$mysqlUserName .'</b></td></tr><tr><td>MySQL Password:</td><td><b>NOTSHOWN</b></td></tr><tr><td>MySQL Host Name:</td><td><b>' .$mysqlHostName .'</b></td></tr></table>';
break;
}
?>

So sichern Sie Ihre Datenbank per PHP-Skript:

Schritt 1

Erstellen Sie auf Ihrem PC mit einem Editor eine neue Textdatei und kopieren Sie den oben angezeigten PHP-Code hinein.

Schritt 2

Tragen Sie im Code die Zugangsdaten zu Ihrer Datenbank an den dafür vorgesehenen Stellen ein und speichern Sie das Skript mit der Dateierweiterung .php.

Zugangsdaten im Control-Center anzeigen
 

Schritt 3

Laden Sie die Datei auf Ihren Webspace in das mit Ihrer Domain verbundene Verzeichnis hoch.

Schritt 4

Führen Sie das Skript durch den Aufruf der Internetadresse im Internet-Browser aus, z.B. im Format http://ihredomain.de/skriptname.php.

Es wird nun ein SQL-Dump erstellt und im Verzeichnis des Skripts unter dem im Skript angegebenen Namen gespeichert. Sie können die Datei dann auf Ihrem PC archivieren.

Datenbank wiederherstellen

Das folgende Skript zeigt Ihnen, wie Sie als .sql-Datei vorliegende Backups wieder in Ihre Datenbank einlesen:

<?php
//Tragen Sie hier Ihre Datenbankinformationen ein und den Namen der Backup-Datei
$mysqlDatabaseName ='Datenbankname';
$mysqlUserName ='Benutzername';
$mysqlPassword ='Passwort';
$mysqlHostName ='dbxxx.hosting-data.io';
$mysqlImportFilename ='Dateiname-des-Backups.sql';

//Bei den folgenden Punkten bitte keine Änderung durchführen
//Import der Datenbank und Ausgabe des Status
$command='mysql -h' .$mysqlHostName .' -u' .$mysqlUserName .' -p' .$mysqlPassword .' ' .$mysqlDatabaseName .' < ' .$mysqlImportFilename;
exec($command,$output,$worked);
switch($worked){
case 0:
echo 'Die Daten aus der Datei <b>' .$mysqlImportFilename .'</b> wurden erfolgreich eingespielt in der Datenbank <b>' .$mysqlDatabaseName .'</b>';
break;
case 1:
echo 'Beim Import ist ein Fehler aufgetreten. Bitte prüfe, ob die Datei im gleichen Ordner wie dieses Skript abgelegt ist. Prüfe auch die folgenden Daten noch einmal:<br/><br/><table><tr><td>MySQL Database Name:</td><td><b>' .$mysqlDatabaseName .'</b></td></tr><tr><td>MySQL User Name:</td><td><b>' .$mysqlUserName .'</b></td></tr><tr><td>MySQL Password:</td><td><b>NOTSHOWN</b></td></tr><tr><td>MySQL Host Name:</td><td><b>' .$mysqlHostName .'</b></td></tr><tr><td>MySQL Import Dateiname:</td><td><b>' .$mysqlImportFilename .'</b></td></tr></table>';
break;
}
?>

Hinweis: Falls durch die Größe Ihrer Datenbank das Skript an die Laufzeitbegrenzung stößt und Ihr Webhosting-Paket einen SSH-Zugang beinhaltet, können Sie die Datenbank auch via SSH wiederherstellen.


War diese Information für Sie hilfreich?

Ihr Feedback hilft uns, unseren Service weiter zu verbessern. Melden Sie sich dafür in Ihrem IONOS Kundenkonto an, indem Sie oben rechts auf die Login-Schaltfläche klicken. Danach können Sie unterhalb des Artikels eine Bewertung abgeben.