Ubuntu vServer + LOAD DATA LOCAL INFILE (Strato)

knuF

Banned
Registriert
Dez. 2007
Beiträge
3.547
Hallo und Moin,

ich habe einen vServer bei Strato auf dem LOAD DATA LOCAL INFILE aktiviert werden soll.

OS: Ubuntu 12.04 LTS
Administration: Plesk 11.0


Ich habe Schwirigkeiten das LOAD DATA LOCAL INFILE zu aktieren bzw. damit zu arbeiten. In der my.cnf habe ich es bereits aktiviert und den Server neugestartet.

[mysqld]
local-infile=1

[mysql]
local-infile=1

Hier die Fehlermeldung:
cs_sql_query - Can't get stat of '/var/lib/mysql/uploads/keys/datei.csv' (Errcode: 2) --Query: LOAD DATA INFILE 'uploads/keys/datei.csv'

cs_sql_query - The used command is not allowed with this MySQL version --Query: LOAD DATA LOCAL INFILE 'uploads/keys/datei.csv'

Es scheint als würden bestimmte Rechte bei einem Verzeichniss fehlen oder ähnliches.
Testweise habe ich bereits var, lib, mysql mit 0777 ausgestattet, doch ohne Erfolg.

Ich habe hier einen interesanten Eintrag gefunden, das es mit Plesk öfter mal Probleme gibt in dem Zusammenhang. Leider beschreibt der Poster nicht wie er das Problem lösen konnte.

Könnte mir bitte jemand weiterhelfen, der sich damit auskennt?

(Bin kein Linux Fachmann, also wenn möglich etwas detailierter erklären)
 
Zuletzt bearbeitet:
Hast du die Rechte auch rekursiv also "chmod -R 777" vergeben? sonst dürfte deine datei.csv immer noch die ursprünglichen Berechtigungsattribute habe.

hast du denn schon versucht in der konsole den Befehl manuell auszuführen wie in deiner Verlinkung es beschrieben wurde?

Gruß, Stefan

Edit: In deiner Verlinkung steht doch wie er es gelöst hat *gg*
Und da der Connect auf die DB per PHP regulär durch “mysql_connect($db_host, $db_user, $db_password)” erfolgt, war hier anzusetzen … google befragt …. und siehe da, an kann dem mysql_connect noch ein paar mehr Infos mit geben, wie etwa die Fehlerausgabe an Stelle 4 und optionale Parameter an Position 5. Ein erweitertes “mysql_connect($db_host, $db_user, $db_password, FALSE, 128) erlaubt nun auch der PHP Klasse, welche den mysql Client spielt, LOAD DATA LOCAL INFILE zu akzeptieren. Die Zauberzahl ist die 128 am Ende, welche das benötigte Importrecht zu Verfügung stellt. Gefunden habe ich das unter diesem Link, aber auch unter mysql.com findet man Hinweise und weitere Wunderzahlen.
 
777 als Zugriffsrechte zu vergeben ist immer falsch. Keine Ausnahmen.
 
Hat sich erledigt.
Open_Basedir war aktiv, dies verhintert trotz Aktivierung von LOAD DATA LOCAL INFILE in der my.cnf die Funktion.

Danke an http://www.rshost.eu für die Hilfe!
 
Dir ist glaube ich nicht ganz bewusst was du da gerade auf deinem Server gemacht hast. Ich versuche mal diese drei Zahlen 777 zu erklären:

Die erste Zahl bezieht sich auf den Besitzer einer Datei, die zweite auf eine bestimmte Benutzergruppe und die dritte auf alle anderen User. Die Userrechte addieren sich wie folgt:

[TABLE="class: outer_border, width: 200, align: center"]
[TR]
[TD]Schreibrechte[/TD]
[TD]4[/TD]
[/TR]
[TR]
[TD]Leserechte[/TD]
[TD]2[/TD]
[/TR]
[TR]
[TD]Ausführen[/TD]
[TD]1[/TD]
[/TR]
[/TABLE]

Alle Rechte zusammen ergeben also 7 und 777 bedeutet nun, dass nicht nur der Besitzer der Verzeichnisse var, lib und mysql alles erdenkliche damit anstellen dürfen, sondern alle User.

Das kann nicht gewollt sein. Ich hoffe du hast vorher ein Backup erstellt um das ganze wieder zu richten :freaky:
 
Zurück
Oben