TomIRL: +MYSQL Updateproblematik

Einen wunderschönen Guten Abend,
Nach dem ich heute mal wieder ein Backup gemacht habe und ich wieder mal geärgert habe, das PHPMyadmin mich beim Im- oder Export der Daten wieder mal im Stich läst, glaubte ich mich zu erinnern, dass vor kurzem hier eine Lösung gepostet wurde um möglichst schnell die Daten zu sichern und wieder zu einzuspielen.

Wenn meine müden Sinne mich getäuscht haben sollten, dann könnte mir vielleicht jemand auf die Sprünge helfen das Ding selber zu schreiben.
Die Importproblematik bei Mysql löse ich zur Zeit mit folgendem Skript:

<?php
   // Bitte hier Ihre Daten eintragen
  $host= 'host';
  $user= 'user';
  $pass= 'pw';
  $db=   'DB';

// Befehl ausführen
  system(sprintf(
    'mysql -h %s -u %s -p%s %s < ./sql.sql',
    $host,
    $user,
    $pass,
    $db
  ));
  echo '+DONE';
?>

Wobei ich trotz Manual Verständnissprobleme habe was dieses Skript eigentlich tut.
Auch hierzu ein paar Tips?

Vielleicht könntet Ihr mir ja mal ein paar Denkanstöße geben in welche Richtung ich überlegen sollte.

Das Skript sollte nach Möglichkeit folgende Funktionen haben:

  • Sicherung aller Dateien und Verzeichnisse /im entsprechenden Haupt Verzeichniss
  • Sicherung aller Mysql Datenbanken.
  • "senden" oder zum download bereitstellen der Daten.
  • Automatisches einlesen des Backups

Naja ich sehe schon wird wohl was Größeres und ich glaube ich muß es wohl doch selber bauen.
 Vielen Dank TomIRL

  1. Hallo!

    <?php
       // Bitte hier Ihre Daten eintragen
      $host= 'host';
      $user= 'user';
      $pass= 'pw';
      $db=   'DB';

    // Befehl ausführen
      system(sprintf(
        'mysql -h %s -u %s -p%s %s < ./sql.sql',
        $host,
        $user,
        $pass,
        $db
      ));
      echo '+DONE';
    ?>

    Diese Script importiert SQL-Anweisungen, die in der Datei "sql.sql" stehen, in den MySQL-Datenbankserver.

    Du führst den Clienten MySQL aus.

    mysql -h host -u user -ppw DB < ./sql.sql

    Wenn Du nicht die DB angibst, muß ich der sql.sql

    use DB

    stehen, also die Datenbank selectiert werden.

    Mit dem Tool mysqldump kannst Du eine Datenbank, mehrere Datenbanken oder auch nur Tabellen in eine Datei als SQL-Anweisungen exportieren.

    mysqldump -h host -u user -ppw DB > ./sql.sql

    So würdest Du die gesamte Datenbank DB exportieren.

    mysqldump -a -h host -u user -ppw > ./sql.sql

    So würdest Du alle Datenbanken exportieren.

    Die weiteren Parameter (hier: -a) für mysqldump findest Du in der Doku oder über

    mysqldump --help

    auf der Konsole.

    MfG, André Laugks

    --
    L-Andre @ gmx.de
    1. Vielen Dank ich werde mal ein bischen probieren.
      TomIRL

  2. Moin!

    http://www.fastix.de/dbbackup.zip
    .... geht aber noch nicht unter Windows. (Hab noch nichts wieder dran gemacht.)

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix®

    --
    Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
    1. Danke Fastix.
      Habs mir mal runtergeladen Windows ist nicht so wichtig für mich...
      Mal sehn.

  3. Moin!

    Nach dem ich heute mal wieder ein Backup gemacht habe und ich wieder mal geärgert habe, das PHPMyadmin mich beim Im- oder Export der Daten wieder mal im Stich läst, glaubte ich mich zu erinnern, dass vor kurzem hier eine Lösung gepostet wurde um möglichst schnell die Daten zu sichern und wieder zu einzuspielen.

    Die Lösung war, PHPMyAdmin upzudaten. Alte Versionen haben beim Wiedereinspielen größerer Datenmengen Probleme, neue Versionen haben es nicht mehr.

    Jedenfalls entspricht das meinen persönlichen Erfahrungen.

    - Sven Rautenberg

    --
    Die SelfHTML-Developer sagen Dankeschön für aktuell 20885,68 Euro Spendengelder!
    1. Moin Sven,
      Vielen Dank auch für Deinen Beitrag.

      Die Lösung war, PHPMyAdmin upzudaten. Alte Versionen haben beim Wiedereinspielen größerer Datenmengen Probleme, neue Versionen haben es nicht mehr.

      Die neueren haben zwar nicht so große Probleme, aber haben die gleichen Probleme.
      Meistens kommt ein Timout welches allerdings nicht zwingend auf PHPMyAdmin zurückzuführen ist, sondern auf ältere PHP Versionen, oder auch nur auf Begrenzung, der Execution Time.
      Ich habe jetzt 20 MB Daten zu schaufeln, und dann geht der Myadmin regelmäßig in die Knie.
      Obendrein dauert mir das einfach viel zu lange.
      Ich werde mal Fastix Skript ausführlich testen und mir Gedanken über ein ganz eigenes Backupsystem machen. Dazu werde ich mir auch mal die Ausführunge vom Andre ausführlich zu Gemühte führen und einiges ausprobieren.
      Das von mir gepostet Skript fügt die 20 MB Daten Bspw in unter 3Minuten ein.
      Also muß es auch prktikable Lösungen geben.

      Viele Grüße TomIRL