Micha: Backup einer 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!

  1. 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