csv to sql problem [LOAD DATA (LOCAL) INFILE]

MySQL, PostgreSQL, SQLite
bratwurstschorsch
Posts: 5
Joined: 2005-08-25 17:42

csv to sql problem [LOAD DATA (LOCAL) INFILE]

Post by bratwurstschorsch » 2005-08-26 02:17

also ich sitze jetzt schon seit stunden an einem problem. bin auch durch die forumssuche und über google immer nur auf posts gestoßen, wo leute das selbe problem haben. aber immer war keine antwort zu finden. deshalb probier ich es hier ein letztes mal selbst :)

also ich habe mehrere csv dateien, die ich per php script mit dem mysql befehl "LOAD DATA INFILE" oder "LOAD DATA LOCAL INFILE" in eine DB drücken möchte. das script müsste fehlerfrei sein, da ich es auf anderen servern erfolgreich getestet habe. nur auf meinem root server gehts nicht.

bei "LOAD DATA INFILE" kommt der fehler

Code: Select all

Can't get stat of '/srv/www/htdocs/web9/html/ordner/datei.csv' (Errcode: 13)
und bei "LOAD DATA LOCAL INFILE" kommt als fehler

Code: Select all

The used command is not allowed with this MySQL version
sicherheitsmäßig ist es mir egal, da ich sowieso nur der einzige nutzer auf dem server bin. also ob es aktiviert ist oder nicht.

nun ich habe probiert:

1. über webmin die berechtigungen der user auf File (Datei) oder alle berechtigungen zu erteilen.

2. über phpMyAdmin im SQL bereich den befehl "SET GLOBAL LOCAL_INFILE = 1;" auszuführen. als meldung kam "befehl wurde erfolgreich ausgeführt"

3. über shell root zugriff die befehle
mysql --local-infile
mysql --local-infile = 1 oder =true oder =enable
mysql set option --local-infile (hier hat er plötzlich true ausgegeben. wenn ich dann aber mysql set option eingegben habe war es wieder auf false)

es hat irgendwie nichts funktioniert. hab auch mit dem vi in die my.cnf geschaut, aber keinen eintrag wie zb local-infile=0 gesehen.

wo kann man dieses dumm ding aktivieren. weiss echt nicht mehr weiter. bin leider noch ein anfänger. also für jede hilfe schon mal danke im vorraus, denn ich bin zu 100% auf diesen befehl angewiesen.

gruss

bratwurstschorsch

primus
Posts: 18
Joined: 2003-01-21 15:11

Re: csv to sql problem [LOAD DATA (LOCAL) INFILE]

Post by primus » 2005-08-26 07:30

zu alte mysql version?

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: csv to sql problem [LOAD DATA (LOCAL) INFILE]

Post by Roger Wilco » 2005-08-26 11:56

bratwurstschorsch wrote:wo kann man dieses dumm ding aktivieren.
Zur Compile-time. Die Version von MySQL, die SuSE als rpm anbietet, unterstützt das Statement "LOAD DATA INFILE" bspw. nicht.
Wenn du das benutzen willst, musst du MySQL neu kompilieren.

bratwurstschorsch
Posts: 5
Joined: 2005-08-25 17:42

Re: csv to sql problem [LOAD DATA (LOCAL) INFILE]

Post by bratwurstschorsch » 2005-08-26 12:36

also das ganze ist eine suse 9.0 system mit einer 4.0.15 mysql version. der server steht bei strato und wurde von dort auch zusammen mit confixx vorinstalliert. was ich mitlerweile herausgefunden habe ist, dass die datei erfolgreich eingelesen wird, sobald ich sie in das verzeichniss von mysql kopiere. also zb unter diesem pfad /var/lib/mysql/usr_web9_1/datei.csv. damit funktioniert es.

was ich bisher raus gefunden habe ist, dass LOCAL ohne irgendwelche rechte funktioniert(deshalb auch immer deaktiviert). dies kann ich aber nicht aktivieren. wenn ich es ohne LOCAl mache fehlen mir anscheinen die rechte, außer wenn ich es im oben genannten pfad ablege.