Hallo,
ich nutze ein wunderbares Script von Raketenwilli (danke dafür nochmal!), um nachts meine Datenbanken zu sichern.
Nun wollte ich mal testhalber hiervon eine db wiederherstellen, kriegs aber nicht hin.
So hatte ich es versucht:
$db_host = 'localhost';
$db_user = 'user'; // User der zu rettenden DB
$db_pass = 'pass'; // Passwort der zu rettenden DB
$db_name = 'mydb'; // Name der zu rettenden DB
$wp_path = 'my/path/to/dbxyz.sql.gz'; // die genaue Backupdatei (der sql-dump)
// Erstmal alle Tabellen löschen
$mysqli = new mysqli($db_host,$db_user,$db_pass,$db_name);
if($mysqli->connect_error) {
die('Connect Error ('.$mysqli->connect_errno.') '
.$mysqli->connect_error);
}
$result = $mysqli->query("show tables"); // run the query and assign the result to $result
while($table = $result->fetch_array()) { // go through each row that was returned in $result
// echo($table[0] . "<BR>");
$mysqli->query('DROP TABLE '.$table[0]);
// echo "geloescht <br>"; // print the table that was returned on that row.
}
system('/bin/gunzip -c '.$wp_path.' | /usr/bin/mysql -u'.$db_user.' -p'.escapeshellarg($db_pass).' -h'.$db_host.' '.$db_name.' ',$fp);
if($fp == 0) {
echo "Daten importiert";
} else {
echo "Es ist ein Fehler aufgetreten";
}
Fehlermeldung:
0 0 Es ist ein Fehler aufgetreten
Was mache ich falsch?
Bzw., wie kann ich die db aus dem dump wiederherstellen?
Über php oder per Shellscript ist eigentlich nebensächlich, wobei mir ein Shellscript fast lieber wäre, weil je nach Größe der wiederherzustellenden db das php-script abbrechen könnte.
Jörg