Backup einer Datenbank
Micha
- datenbank
Hallo,
Mein Problem:
Die Tabelle hat 80000 Datensätze. Ich habe schon vieles ausprobiert, leider werden aber nur 60000 Datensätze gesichert.
Folgende Scripte habe ich benutzt:
Für Backup:
<?php
$host = "";
$db = "";
$dbuser = "";
$dbpw = "";
MYSQL_CONNECT($host, $dbuser, $dbpw) or die ( "<H3>Datenbankserver nicht erreichbar</H3>");
MYSQL_SELECT_DB($db) or die ( "<H3>Datenbank nicht vorhanden</H3>");
$path = getenv('DOCUMENT_ROOT')."/DB_backup";
$result = MYSQL_QUERY("SHOW TABLES");
$numrow = MYSQL_NUM_ROWS($result);
for($i = 0;$i < $numrow;$i++) {
$table = MYSQL_RESULT($result,$i);
echo "$table ... ";
system(sprintf("mysqldump --opt -h $host -u $dbuser -p$dbpw $db $table | gzip > %s/$table.sql.gz",$path));
echo "DONE\n\n";
}
MYSQL_CLOSE();
?>
Die Datei ist 10747904 groß.
Nun benutze ich folgendes Script um die Daten auf einen anderen Datenbank zu übertragen:
<?php
// Bitte hier Ihre Daten eintragen
$host= '';
$user= '';
$pass= '';
$db= '';
// GZip entpacken und in die Datenbank einlesen
system(sprintf(
'gunzip -c %s/dump.sql.gz | mysql -h %s -u %s -p%s %s',
getenv('DOCUMENT_ROOT'),
$host,
$user,
$pass,
$db
));
echo '+DONE';
?>
Leider werden nur 60000 Datensätze statt 80000 übertragen. Was kann ich tun? Kann mir jemand helfen?
Danke!
Hi!
Leider werden nur 60000 Datensätze statt 80000 übertragen. Was kann ich tun? Kann mir jemand helfen?
Ich versteeh nicht so ganz, wieso Du es Dir so kompliziert machst mit den Tabellen, ich würde einfach "mysqldump database" verwenden, das liest dann alle vorhandenen Tabellen aus.
Ich würde erstmal ein bisschen auf der Kommandozeile probieren.
Im Prinzip sollte sowas funktionieren:
mysqldump --opt datenbank > datensicherung.sql
mysql datenbank < datensicherung.sql
kennst Du:
http://www.mysql.com/doc/de/mysqldump.html
http://www.mysql.com/doc/de/Backup.html
?
Würde ich beides mal in Ruhe durchlesen.
Grüße
Andreas