Datenbank aus Shellscript-Sicherung wiederherstellen
bearbeitet von JörgHallo,
ich nutze ein wunderbares [Script](https://forum.selfhtml.org/self/2021/sep/28/datenbanken-sichern/1792031#m1792031) 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:
~~~ PHP
$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";
}
~~~
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
ich nutze ein wunderbares [Script](https://forum.selfhtml.org/self/2021/sep/28/datenbanken-sichern/1792031#m1792031) 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:
~~~ PHP
$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";
}
~~~
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
Datenbank aus Shellscript wiederherstellen
bearbeitet von JörgHallo,
ich nutze ein wunderbares [Script](https://forum.selfhtml.org/self/2021/sep/28/datenbanken-sichern/1792031#m1792031) von Raketenwilli (danke dafür nochmal!), um nachts mieine Datenbanken zu sichern.
Nun wollte ich mal testhalber hiervon eine db wiederherstellen, kriegs aber nicht hin.
So hatte ich es versucht:
~~~ PHP
$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";
}
~~~
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
ich nutze ein wunderbares [Script](https://forum.selfhtml.org/self/2021/sep/28/datenbanken-sichern/1792031#m1792031) von Raketenwilli (danke dafür nochmal!), um nachts m
Nun wollte ich mal testhalber hiervon eine db wiederherstellen, kriegs aber nicht hin.
So hatte ich es versucht:
~~~ PHP
$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";
}
~~~
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
Datenbank aus Shellscript wiederherstellen
bearbeitet von JörgHallo,
ich nutze ein wunderbares [Script](https://forum.selfhtml.org/self/2021/sep/28/datenbanken-sichern/1792031#m1792031) von Raketenwilli, um nachts miene Datenbanken zu sichern.
Nun wollte ich mal testhalber hiervon eine db wiederherstellen, kriegs aber nicht hin.
So hatte ich es versucht:
~~~ PHP
$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";
}
~~~
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