Am Fri den 21 Sep 2001 um 12:03:56PM +0200 schrieb Christian Wippermann:
Hallo allesamt,
Ich habe eine MySQL Datenbank in der öffentliche PGP-Keys im Binärformat als BLOB gespeichert werden. Normalerweise übernehmen Scripte die Bearbeitung der DB. Da nun aber ein kleiner Fehler unterlaufen ist (_duck_), muss ich händisch ran:
UPDATE table SET blob_var='(Binärdaten)' WHERE id=1;
Wie bekomme ich aber die Daten aus /foo/file.pgp in blob_var und somit in die DB? Vorschläge?
Du kannst MySQL auch von der shell aus benutzen. Das eigentliche Problem ist natürlich wie du die binären Daten vor der shell schützen kannst.
Folgendes geht z.B. schon mal nicht: my_pgp=`cat my_file` mysql -u ich -pgeheim -e "UPDATE table SET blob_var='$my_pgp' WHERE id=1"
Bei Tests war die md5sum von my_file anders wenn ich dann folgendes getan habe: echo $my_pgp | md5sum md5sum my_file
Vielleicht können die shell Experten weiterhelfen. Einfacher ist IMHO ein kleines php oder perl Skript zu schreiben, welches die quote Funktion des mysql Modules nutzt, um den Kram sauber zu schreiben.
andre