MySQL Secure File Privileges: Fehler 1290 beim Schreiben in Dateien beheben
MySQLs Option --secure-file-priv schränkt die Ausführung von Anweisungen ein die in Dateien schreiben. Dieser Fehler tritt auf, wenn versucht wird, Abfrageergebnisse mithilfe der INTO OUTFILE-Klausel in eine Datei zu schreiben, während diese Option aktiviert ist.
Lösung:
Zulässige Schreibpfade suchen
Überprüfen Sie den Wert der Systemvariablen @@GLOBAL.secure_file_priv, um die Verzeichnisse zu bestimmen, in die MySQL Dateien schreiben darf:
<code class="sql">SELECT @@GLOBAL.secure_file_priv;</code>
Ubuntu 16.04: Schreiben Sie in den angegebenen Pfad, zum Beispiel:
<code class="sql">SELECT * FROM train INTO OUTFILE '/var/lib/mysql-files/test.csv' FIELDS TERMINATED BY ',';</code>
Mac OSX (MAMP):
.my.cnf-Datei erstellen:
Sichere Dateiberechtigungen deaktivieren (nicht empfohlen):
Setzen Sie die Systemvariable @@GLOBAL.secure_file_priv auf NULL:
<code class="sql">SET GLOBAL secure_file_priv=NULL;</code>
Hinweis: Bei dieser Methode besteht die Gefahr, dass nicht vertrauenswürdiger Code an beliebige Stellen auf dem Server schreibt. Es sollte nur als vorübergehende Maßnahme eingesetzt werden.
Das obige ist der detaillierte Inhalt vonWie behebt man den MySQL-Fehler 1290: „Datei kann nicht erstellt/geschrieben werden“ bei Verwendung von INTO OUTFILE?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!