Heim  >  Artikel  >  Datenbank  >  Wie behebt man den MySQL-Fehler 1290: „Der MySQL-Server läuft mit der Option --secure-file-priv, sodass er diese Anweisung nicht ausführen kann'?

Wie behebt man den MySQL-Fehler 1290: „Der MySQL-Server läuft mit der Option --secure-file-priv, sodass er diese Anweisung nicht ausführen kann'?

Linda Hamilton
Linda HamiltonOriginal
2024-10-27 13:08:02846Durchsuche

How to Fix MySQL Error 1290:

MySQL-Fehler 1290: Secure File Private Option blockiert den Datenexport

Beim Ausführen einer MySQL-Anweisung, die den Datenexport in eine Datei mit INTO OUTFILE beinhaltet -Klausel können Benutzer auf den Fehler „Fehlercode: 1290. Der MySQL-Server wird mit der Option --secure-file-priv ausgeführt, sodass er diese Anweisung nicht ausführen kann“ stoßen. Dies tritt auf, wenn der Server mit erweiterten Sicherheitsmaßnahmen konfiguriert ist, die Dateivorgänge einschränken.

Erklärung der Option „Secure File Private“

Die Option --secure-file-priv begrenzt Dateizugriff und Berechtigungen innerhalb des MySQL-Servers. Standardmäßig ist diese Option aktiviert und weist ein bestimmtes Verzeichnis als einzigen zulässigen Speicherort für Dateivorgänge zu. Jeder Versuch, auf Dateien außerhalb dieses angegebenen Verzeichnisses zuzugreifen oder in diese zu schreiben, führt zu Fehler 1290.

Einfache Lösung: Pfad auf zulässiges Verzeichnis beschränken

Um diesen Fehler ohne Änderungen zu beheben Servereinstellungen können Benutzer das zulässige Verzeichnis explizit in der INTO OUTFILE-Klausel angeben:

SELECT *
FROM xxxx
WHERE XXX
INTO OUTFILE '<path/to/permitted/directory>/report.csv'
FIELDS TERMINATED BY '#'
ENCLOSED BY '"'
LINES TERMINATED BY '\n'

Ersetzen Sie mit dem tatsächlichen Verzeichnispfad, der von der Option secure_file_priv zugelassen wird.

Alternative Lösungen:

  • Option „Sichere Datei privat“ deaktivieren:

Dies erfordert die Bearbeitung der MySQL-Konfigurationsdatei (normalerweise my.ini oder my.cnf). Kommentieren Sie die Option secure_file_priv aus oder entfernen Sie sie oder setzen Sie sie auf eine leere Zeichenfolge (``). Dies verringert jedoch die Serversicherheit und sollte nur in kontrollierten Umgebungen durchgeführt werden.

  • Benutzern Dateirechte gewähren:

Wenn Sie Dateizugriff benötigen Über das zulässige Verzeichnis hinaus können Sie dem ausführenden Benutzer das FILE-Privileg gewähren. Dies kann mit der folgenden SQL-Anweisung erfolgen:

GRANT FILE ON *.* TO <username>@'<host>';

Das obige ist der detaillierte Inhalt vonWie behebt man den MySQL-Fehler 1290: „Der MySQL-Server läuft mit der Option --secure-file-priv, sodass er diese Anweisung nicht ausführen kann'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn