Produktbereich: 
Hosting
Kategorie auswählen
Übersicht Hilfe Kontakt
print article

MySQL-Datenbank mittels PHP sichern und wiederherstellen

Für 1&1 WebHosting Linux-Pakete mit MySQL-Datenbanken

In diesem Artikel stellen wir Ihnen zwei PHP-Skripte vor, mit denen Sie Ihre MySQL-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.db.1and1.com';
$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=array(),$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 geht's:

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 an den dafür vorgesehen Stellen die Zugangsdaten zu Ihrer MySQL-Datenbank ein und speichern Sie das Skript der Dateiendung .php ab.

Zugangsdaten im 1&1 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.
Bitte beachten Sie:
Falls Sie die Konfigurationsoption safe_mode = on verwenden, ist es notwendig, den Safemode für die Ausführung des Skriptes zu deaktivieren. Ältere Datenbanken können auch dbxx.puretec.de heißen.

Es wird nun ein SQL-Dump erstellt und im Verzeichnis des Skriptes mit dem im Skript angegegebenen Namen gespeichert. Anschließend können Sie die Datei auf Ihrem PC archivieren.

Datenbank wiederherstellen

Das folgeden 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.db.1and1.com';
$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=array(),$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.