ich möchte aus einem, von mysqlbackups erstellten, Datenbank-Dump, ein Importskript mittels mysqldump erstellen. Das funktioniert zwar, allerdings bereitet mir die Ausgabe des Programms etwas Kopfzerbrechen.
Zum einen werden bei den DDLs und DMLs den Spalten, die einen Null-Wert bzw. einen Null-Defaultwert besitzen, Leerstrings übergeben. Dumm nur, wenn es sich hierbei um nummerische Felder handelt. :/ Gut, zur Not könnte ich ein Skript schreiben um das umzubiegen, allerdings müsste das erst wieder getestet werden, damit es auch sicher auf alle möglichen Konstellationen passt... ein Schritt den ich nur ungern gehen würde.
Mein zweites Problem ist aber nocht etwas gravierender.
Ich habe in meiner DB BLOBs, die von mysqldump ebenfalls mit in das SQL Skript geschrieben werden... was natürlich später bei der Rücksicherung nicht funktionieren kann. Ich hätte es gerne so eingestellt, dass BLOBs in separate Dateien geschrieben und in den DMLs durch load_file Funktionen ersetzt werden
konnte allerdings keine Konfigurationsmöglichkeiten dazu finden.
Gibt es bei mysqldump Möglichkeiten, die von mir beschriebenen Fälle zu konfigurieren?
Wenn nein, gibt es Backupprogramme die diesen Job besser bewältigen? Da meine DB auf einem fremden Hoster liegt, kann ich keine Programme installieren. Es sollte also eine PHP-basierte Lösung sein.
BTW: an den Tabellenstrukturen kann ich nichts verändern, da es sich um fertige, relativ große, Apllikationen handelt und Modifikationen einen zu hohen Aufwand bedeuten würden.
...
Lösung
Ich lasse das Importskript mittels phpMyBackup erstellen. Das Skript ist zwar nicht perfekt, mit einigen kleineren Modifikationen konnte ich es aber an meine Bedürfnisse anpassen. Einziger Wermutstropfen ist die Skriptlaufzeit, die, sobald die DB etwas anwächst zum Problem werden kann. Doch hier kann ich mit einigen Modifikationen entgegen wirken.