Kalle_B: Suche Backup / Restore Software für MySQL

Hallöle,

es erscheint mir sinnvoll, MySQL Tabellen als CSV- Dateien zu sichern. Kürzer geht's wohl nicht.

Leider kann das phpMyAdmin 2.1.0 WEDER die Feldnamen voranstellen NOCH mehrere Tabellen als CSV ausgeben. Einen Einfluss auf die Version habe ich nicht, wurde heute z.B. vom Provider getauscht, weil die bisherige Version angeblich zu neu war. Das war aber nicht der Grund für eine zerstörte Tabelle.

Suche ein PHP- Script, das in etwa Folgendes erledigt:

  • die Namen der zu sichernden Tabellen lesen (Textdatei?)

  • pro Tabelle eine CSV- Datei erzeugt

  • die Dateien als Mailanhang versendet

  • einzelne CSV- Dateien hochladen kann

  • die darin enthaltenen Datensätze in die richtige Datei importiert.

Und dann noch die Möglichkeit, das BACKUP incl. Mailversand zeitgesteuert laufen zu lassen.

Lieben Gruß, Kalle

  1. Moin!

    Leider kann das phpMyAdmin 2.1.0 WEDER die Feldnamen voranstellen NOCH mehrere Tabellen als CSV ausgeben. Einen Einfluss auf die Version habe ich nicht, wurde heute z.B. vom Provider getauscht, weil die bisherige Version angeblich zu neu war. Das war aber nicht der Grund für eine zerstörte Tabelle.

    Hast du Webspace mit PHP? Hast du 1 MB Platz? Dann installier dir deine eigene Version von phpMyAdmin. Und schon hast du keine Probleme mehr.

    CSV ist übrigens nicht wirklich die beste Speicherform, weil dir (so mutmaße ich) die Information über die anzulegenden Tabellen verloren geht. Ein vernünftiger MySQL-Dump ist zwar etwas größer, weil er aus SQL-Kommandos besteht, aber hinsichtlich der Transportierbarkeit wesentlich angenehmer zu benutzen.

    - Sven Rautenberg

    --
    My sssignature, my preciousssss!
    1. Moin!

      Hast du Webspace mit PHP? Hast du 1 MB Platz? Dann installier dir deine eigene Version von phpMyAdmin. Und schon hast du keine Probleme mehr.

      Ja, das ginge schon. Welche Version erfüllt denn meine Wünsche?

      CSV ist übrigens nicht wirklich die beste Speicherform, weil dir (so mutmaße ich) die Information über die anzulegenden Tabellen verloren geht.

      Naja, der CREATE ändert sich ja (fast) nicht, wird separat gespeichert.

      Ein vernünftiger MySQL-Dump ist zwar etwas größer **), weil er aus SQL-Kommandos besteht, aber hinsichtlich der Transportierbarkeit wesentlich angenehmer zu benutzen.

      **) schätze mal.

      Eine Tabelle mit ca. 9.700 Einträgen ist als CSV 492 kB groß, als CREATE und INSERT 1.302 kb. Und das Verhältnis multipliziert mit 10 Tabellen (größer und kleiner) ist nicht so lustig zum täglichen (in der heißen Phase mehrmals täglichen) Mailversand.

      Gestern ist eine Tabelle abgekackt, ich spreche also aus Erfahrung.

      Kalle

      1. Hi,

        Welche Version erfüllt denn meine Wünsche?

        Gar keine. Ich hab grad die 2.8.1 installiert, und selbst die liefert kein anständiges CVS, wenn man alle Tabellen gleichzeitig exportiert.

        Wäre es nicht sinnvoller, ein kleines Script zu schreiben, das ein CVS erzeugt und gleich per Mail verschickt? Wäre nur geringer Aufwand aber von der Userbility wohl am besten.

      2. Hallo,

        Eine Tabelle mit ca. 9.700 Einträgen ist als CSV 492 kB groß, als CREATE und INSERT 1.302 kb. Und das Verhältnis multipliziert mit 10 Tabellen (größer und kleiner) ist nicht so lustig zum täglichen (in der heißen Phase mehrmals täglichen) Mailversand.

        Warum jagst Du den Dump nicht noch durch gzip?

        Ich mache folgendes per CronJob recht regelmäßig und lass mir das Resultat mailen:

        /usr/bin/mysqldump -v --all --opt --complete-insert --quote-names  -hXXX -uXXX -pXXX XXX | gzip > XXX.sql.gz

        Einziges Problem dabei ist ein eventuelles Timeout, da ich das per PHP aufrufen muss. War ein Problem beim alten Provider, weil der System-Call sang- und klanglos untergegangen ist. Aber die resultierenden Dateien sind deutlich kleiner als der eigentliche Dump.

        Gruß, Thoralf

        --
        Sic Luceat Lux!