Hallo,
LOAD DATA LOCAL INFILE '...'
lädt eine Datei vom Dateisystem des Client, kopiert diese auf den Server. Verlangt NICHT, dass der Benutzer das "File-Privileg" hat.
Ich habe jetzt extra nochmals geprüft, aber es wird nie "load data local infile" verwendet. Und das File-Privileg sollte ja, wie Du auch schon geschrieben hast, "viel zu weitgehend" gesetzt. Das macht man schonmal, wenn man ein Rechte-Problem ausschließen möchte.
Die Variable secure_file_priv war ursprünglich auf /var/lib/mysql-files gesetzt (so wie es durch die Standardinstallation mit zypper in mysql gesetzt wird), habe ich aber auch schon testweise auf secure_file_priv="" gesetzt.
ToDo:
- Zu prüfen ist also, wie (und bei welchem Host/IP!) die Anmeldung erfolgt und ob immer der selbe Benutzer von demselben Host angemeldet wird (Falls der Benutzer bei lokaler oder Netzwerkanmeldung unterschiedliche Rechte bezüglich des "File-Privileg" hat).
Das SAP benutzt immer den einzigen FTP-Zugang, um die Daten zu übertragen. Der Anwender benutzt immer die Weboberfläche (PHP-Script, um den Import zu starten). Es ist immer derselbe Anwender (oder ich).
- Zu prüfen ist also auch, ob mal
LOAD DATA INFILE
und alternierendLOAD DATA LOCAL INFILE
benutzt wird.
Es wird immer nur LOAD DATA INFILE
verwendet.
- Man irrt oft bezüglich der Einstellungen. Ein
SHOW GLOBAL VARIABLES LIKE 'secure_file_priv'
zeigt: ""
LG Klaus