Lösung für Fehler 1290 beim Importieren von Dateidaten in MySQL

Lösung für Fehler 1290 beim Importieren von Dateidaten in MySQL

Fehlerszenario

Verwenden Sie den MySQL-Befehl in cmd, um der Studenteninformationstabelle Daten hinzuzufügen. Verwenden Sie die Methode „Daten laden“, um Daten einfach stapelweise zu importieren.

Bereiten Sie Textdaten vor: Datei xueshengxinxi.txt. Verwenden Sie die Tabulatortaste, um die Daten zu trennen.

Beim Ausführen von „Daten in Dateitextdatenpfad in Tabelle tab_load_data laden“ tritt ein Fehler auf.

#load data (Daten laden) Syntax zum Laden von Daten ist wie folgt:
 1 Zhang Sannan Jiangxi 1
 2 Li Sinan Sichuan 2
 3 Wang Wunan Shanghai 1
 4 Zhao Liunu Hubei 3
 5 Enkel sieben Tochter Hubei 3
 6 Zhou Ba Nan Hunan 1 

#Testdatentabelle Tabelle erstellen tab_load_data (
  id int auto_increment Primärschlüssel,
  Name varchar(10),
  Geschlecht Aufzählung('männlich','weiblich'),
  natives varchar(10),
  f5 int
 ); 
Fehlerbeschreibung

Beim Importieren von Dateidaten mithilfe von Ladedaten tritt immer ein Fehler (Fehler 1290...) wie folgt auf:

FEHLER 1290 (HY000): Der MySQL-Server läuft mit der Option --secure-file-priv und kann diese Anweisung daher nicht ausführen.

Lösungsideen (Prozess)

1) Da die Fehlermeldung darauf hinweist, dass die Option „Secure-File-Priv“ ausgeführt wird und der Ladedienst nicht ausgeführt werden kann, suchen Sie das Konfigurationselement in der MySQL-Konfigurationsdatei „my.ini“.

2) Beenden Sie vor der Konfiguration den MySQL-Dienst

3) Öffnen Sie my.ini, suchen Sie nach dem Schlüsselwort "secure-file-priv" und finden Sie diese Option. Kommentieren Sie diese Option aus, speichern Sie sie und starten Sie den MySQL-Dienst

4) Das Ergebnis ist immer noch derselbe Fehler. Beschreibung Der Kommentar hat keine Auswirkung. Was ist los?

Ich habe den Befehl „show variables like ‚%secure%‘“ ausgeführt und festgestellt, dass der Wert von secure-file-priv nach dem Auskommentieren NULL war, was darauf hinweist, dass Import und Export verboten waren.

Das bedeutet, dass das Auskommentieren nicht funktioniert. Wenn Sie den Konfigurationsdateieintrag nicht löschen möchten, müssen Sie das Verzeichnis ändern.

5) Ändern Sie den Pfad, führen Sie zum Anzeigen den Befehl „show variables like ‚%secure%‘“ aus und starten Sie MySQL neu.


6) Führen Sie die Ladedaten erneut aus. Die Ausführung ist erfolgreich

Informationen zur komplexeren Ladenutzung finden Sie im MySQL-Handbuch. An diesem Punkt ist das Problem gelöst.

3. Zusammenfassung

Lernen Sie aus diesem Fehler:

1) Daten laden: Sie können Daten aus einer externen Notepad-Datei in eine Tabelle importieren.

Die Daten in diesem Notizblock müssen normalerweise „relativ ordentlich“ sein, wobei eine Textzeile einer Datenzeile entspricht und ein bestimmtes Zeichen (z. B. ein Tabulator) verwendet wird, um die Werte der einzelnen Felder in einer Zeile zu trennen.

2) Der Parameter „Secure-File-Priv“ wird verwendet, um die Auswirkungen von Datenimport- und -exportvorgängen zu begrenzen.

Beispiel: Führen Sie die Anweisung LOAD, SELECT...INTO OUTFILE und die Funktion LOAD_FILE() aus. Diese Vorgänge erfordern die Dateiberechtigung.

3) Wenn der Parameter „Secure-File-Priv“ auf einen Verzeichnisnamen gesetzt ist, erlaubt der MySQL-Dienst nur Dateiimport- und -exportvorgänge in diesem Verzeichnis.

Dieses Verzeichnis muss vorhanden sein, der MySQL-Dienst erstellt es nicht.

4) Wenn der Parameter „Secure-File-Priv“ NULL ist, verbietet der MySQL-Dienst Import- und Exportvorgänge.

Das könnte Sie auch interessieren:
  • Java verwendet MYSQL LOAD DATA LOCAL INFILE, um große Datenmengen in MySQL zu importieren
  • Eine Fallstudie zum Lösen von Deadlocks, die durch die Anweisung „Daten laden“ in MySQL verursacht werden
  • Lösung für das Problem des Zeilenumbruchs im Datensatz „Daten laden“ in MySQL
  • Verwendung der MySQL-Ladedaten-Indatei (das Importieren von 40-W-Daten in MySQL dauerte 3–5 Sekunden)
  • So verwenden Sie „Daten in MySQL laden“
  • MySQL-Daten in Datei laden
  • Verwendung von MySQL Load Data InFile
  • MySQL-Datenbank Daten laden, vielfältige Verwendungsmöglichkeiten

<<:  So starten Sie ein JAR-Paket und führen es unter Linux im Hintergrund aus

>>:  So verstehen Sie die Modularität von JavaScript

Artikel empfehlen

Kenntnisse über die MySQL Memory-Speicher-Engine

Wissenspunkte zur Speicher-Storage-Engine Die Spe...

Was ist nach der Installation von Ubuntu 20.04 zu tun (Anleitung für Anfänger)

Ubuntu 20.04 wurde veröffentlicht und bringt viel...

Analyse der Vor- und Nachteile von gespeicherten MySQL-Prozeduren

MySQL Version 5.0 begann, gespeicherte Prozeduren...

Beispiel für die Kompilierung von LNMP im Docker-Container

Inhaltsverzeichnis 1. Projektbeschreibung 2. Ngin...

Auszeichnungssprache - CSS-Layout

Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...

Erstellen eines statischen Jenkins Docker-Agentknotens

Ein statischer Knoten ist auf einer Maschine fixi...

MySQL-Interviewfragen: So richten Sie Hash-Indizes ein

Zusätzlich zu den B-Tree-Indizes bietet MySQL auc...

Detaillierte Schritte zur Installation und Konfiguration von MySQL 5.6.21

1. Übersicht MySQL-Version: 5.6.21 Download-Adres...

Detaillierte Erläuterung der Verwendung der Vue3-Statusverwaltung

Inhaltsverzeichnis Hintergrund Bereitstellen / In...

Analyse des Prinzips und der Erstellungsmethode der temporären MySQL-Tabelle

In diesem Artikel werden hauptsächlich das Prinzi...

Implementierung des Tomcat-Bereitstellungsprojekts und Integration mit IDEA

Inhaltsverzeichnis 3 Möglichkeiten zum Bereitstel...

JS Canvas-Oberfläche und Animationseffekte

Inhaltsverzeichnis Überblick Canvas API: Grafiken...

Über die Position des H1-Tags in XHTML

In letzter Zeit wurde viel über H1 diskutiert (auf...