Sehr seltsames Verhalten von MySQL Datenbank
Hallo Liste,
Wenn ich meinen Datenbank-Server mit der Option --user=mysql starte,
so läuft dieser doch mit den Rechten von dem Benutzer "mysql",
richtig?
Das heißt, ich kann Dateien, die der Benutzer mysql lesen kann mit
LOAD_FILE("datei") auch in die Datenbank schreiben, richtig?
Wäre auch logisch, nur leider wehrt sich MySQL dagegen den LOAD_FILE()
Befehl anzuwenden.
-rwx------ 1 mysql mysql 770 2007-02-16 13:06 /home/sandro/test.pl
Diese Rechte reichen für ein LOAD_FILE nicht aus. Wieso?
-rwxrwxrwx 1 mysql mysql 770 2007-02-16 13:06 /home/sandro/test.pl
tuts hingegen.
Die MySQL Doku sagt zu LOAD_FILE():
Liest die Datei und gibt den Dateiinhalt als String zurück. Damit
diese Funktion verwendet werden kann, muss die Datei auf dem
Serverhost liegen. Sie benötigen die Berechtigung FILE und müssen den
vollständigen Pfadnamen der Datei angeben. Die Datei muss von allen
lesbar und ihre Größe geringer als max_allowed_packet Bytes sein.
Wenn die Datei nicht vorhanden ist oder nicht gelesen werden kann,
weil eine der vorherigen Bedingungen nicht erfüllt ist, gibt die
Funktion NULL zurück.
Eine "file test.pl" tuts auch mit 700 Rechten, jedoch schreibt er da
NULL in die Datenbank, was auf das Nichtlesenkönnen hindeutet.
Stehe gerade wirklich auf dem Schlauch, weil ich mir das Verhalten
_absolut_ nicht erklären kann.
Ich hoffe mir kann jemand helfen...!
Danke und Tschau
Sandro
Reply to: