Heim > Datenbank > MySQL-Tutorial > So beheben Sie den Fehler 'Befehl nicht mit MySQL -Version zulässig' bei Verwendung von Lastdaten lokal?

So beheben Sie den Fehler 'Befehl nicht mit MySQL -Version zulässig' bei Verwendung von Lastdaten lokal?

DDD
Freigeben: 2025-01-24 09:46:09
Original
661 Leute haben es durchsucht

Auflösen des Befehls mySQL "Fehler nicht zulässig" beim Laden von Daten

Begegnet auf den MySQL -Fehler "Fehler 1148: Der verwendete Befehl ist mit dieser MySQL -Version nicht zulässig", während LOAD DATA LOCAL das Schlüsselwort LOCAL deaktiviert ist. Dies ist eine Sicherheitsmaßnahme. Um Daten lokal zu laden, müssen Sie die Option local-infile explizit aktivieren.

How to Fix the

clientseitige Lösung:

Die einfachste Lösung besteht darin, local-infile zu aktivieren, wenn Sie eine Verbindung zu Ihrem MySQL -Server herstellen:

<code class="language-bash">mysql -u myuser -p --local-infile mydatabase</code>
Nach dem Login kopieren

Ersetzen Sie myuser durch Ihren MySQL -Benutzernamen, -p Eingabeaufforderungen für Ihr Passwort und mydatabase mit dem Namen Ihrer Datenbank.

Wichtiger Sicherheitshinweis: Aktivieren local-infile Einführt eine Sicherheitsanfälligkeit. Aktivieren Sie es nur, wenn Sie es unbedingt notwendig machen, und deaktivieren Sie es anschließend.

serverseitige Lösung (dauerhafter, aber vorsichtig):

für eine dauerhaftere Lösung finden Sie local-infile auf dem MySQL -Server selbst. Dies erfordert die Änderung der MySQL -Konfigurationsdatei (my.cnf unter Linux/macOS, my.ini unter Windows). Extreme Vorsicht walten lassen beim Ändern der Serverkonfigurationsdateien. Falsche Änderungen können die Sicherheit Ihres Servers beeinträchtigen.

Fügen oder ändern Sie die folgende Zeile in Ihrer my.cnf -Datei:

<code>loose-local-infile = 1</code>
Nach dem Login kopieren

Starten Sie dann Ihren MySQL -Server neu, damit die Änderungen wirksam werden. Nach Abschluss des Datenes wird dringend empfohlen, loose-local-infile auf 0 zurückzulegen oder die Zeile zu entfernen, um das Sicherheitsrisiko zu mildern.

Alternativer Ansatz (empfohlen):

Die sicherste und allgemein bevorzugte Methode besteht darin, LOAD DATA LOCAL insgesamt zu vermeiden. Verwenden Sie stattdessen eine Methode, bei der Daten nicht direkt aus dem lokalen Dateisystem des Clients geladen werden. Dies könnte:

beinhalten
  • Verwenden mysqlimport: Dieses Befehlszeilen-Tool ist eine sicherere Alternative zum Importieren von Daten aus einer Datei.
  • Übertragen Sie die Datei zuerst auf den Server: Laden Sie die Datendatei mithilfe scp, sftp oder anderen sicheren Dateiübertragungsmethoden auf den Server hoch und verwenden Sie dann LOAD DATA INFILE (ohne die LOCAL Schlüsselwort) zum Laden der Daten aus dem Dateisystem des Servers.

Denken Sie daran, die Sicherheit bei der Arbeit mit Datenbanken immer zu priorisieren. Das Aktivieren von local-infile sollte eine vorübergehende Maßnahme sein, und die alternativen Ansätze sind im Allgemeinen sicherer und für die Ladedatenbelastung empfohlen.

Das obige ist der detaillierte Inhalt vonSo beheben Sie den Fehler 'Befehl nicht mit MySQL -Version zulässig' bei Verwendung von Lastdaten lokal?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage