Zugriff verweigert für LOAD DATA INFILE in MySQL
In MySQL kann die Verwendung der LOAD DATA INFILE-Anweisung zu einem Fehler „Zugriff verweigert“ führen, z als „#1045 – Zugriff verweigert für Benutzer ‚user‘@‘localhost‘ (mit Passwort: JA).“
Dieser Fehler weist normalerweise darauf hin, dass der aktuelle Benutzer, der die Abfrage ausführt, nicht über ausreichende Berechtigungen zum Laden von Daten verfügt eine Datei in eine Tabelle. Um dieses Problem zu beheben, stellen Sie sicher, dass der Benutzer über die erforderlichen Berechtigungen verfügt.
Insbesondere muss dem Benutzer die Berechtigung FILE gewährt werden. Mit dieser Berechtigung können Benutzer Dateien aus dem Dateisystem des Servers lesen. Ohne diese Berechtigung kann der Benutzer nicht auf die angegebene Datei zugreifen.
Um einem Benutzer die FILE-Berechtigung zu gewähren, führen Sie die folgende Abfrage aus:
<code class="sql">GRANT FILE ON *.* TO user_name;</code>
Ersetzen Sie Benutzername durch den Benutzernamen des Benutzers, dem Sie die Berechtigung gewähren möchten.
Erwägen Sie außerdem, das Schlüsselwort LOCAL zur LOAD DATA INFILE-Anweisung hinzuzufügen. Das Schlüsselwort LOCAL weist MySQL an, die Datei vom Client-Rechner statt vom Dateisystem des Servers zu lesen. Dies kann in manchen Fällen effizienter und sicherer sein.
Hier ist ein Beispiel einer geänderten Anweisung mit LOCAL:
<code class="sql">LOAD DATA LOCAL INFILE 'path/to/file.csv' INTO TABLE table_name;</code>
Das obige ist der detaillierte Inhalt vonWarum erhalte ich „Zugriff verweigert', wenn ich LOAD DATA INFILE in MySQL verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!