[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: