» MySQL Problem mit LOCAL INFILE Fehler 1148
Root-Guide.de - Aritkel Informationen:
|
Artikel Titel: MySQL Problem mit LOCAL INFILE Fehler 1148 Artikel Datum: 01.01.2007 |
Artikel Kategorie: Allgemein Autor: PAS |
Erfolgreich getestet unter MySQL 4.X Dann liegt es daran das ihr die Einstellung local-infile = 0 hat. Nun bearbeitet Ihr die Datei mit "vi" und sucht den Bereich "[mysqld]". ....... Die Punkte "......" heißen das es dort noch weiter geht. Wenn euer MySQL Server anders neugestartet wird macht es wie Ihr es immer macht ;). Bedeutung: Welcome to the MySQL monitor. Commands end with ; or \g. Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> Nun wählt ihr die Datenbank aus in der sich die Tabellen befinden (Achtung: z.b. web0 hat nur Zugriff auf usr_web0_XX), dazu tippen wir den Befehl in der MySQL Kommandozeile ein: Als Meldung sollte kommen: Jetzt könnt ihr euer "LOAD DATA LOCAL INFILE" befehl eingeben, achtet drauf das der Befehl mit einem ";" endet! server:/home/ # mysql -u web0 -p123456 -h localhost --local-infile=1 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> use usr_web0_1 mysql> exit Somit sollte es jetzt funktionieren :)
Ihr wollt eine beispielsweise eine CSV importieren bekommt aber die Meldung:
Um dies zu ändern startet ihr euer SSH Programm und loggt euch als Root ein und öffnet anschließend die my.cnf wenn ihr nicht wisst wo diese Datei ist, sucht Ihr sie mit:
Habt Ihr diesen Bereich gefunden dann sucht nach "local-infile =" falls ihr diese Variable nicht findet,
schreibt Ihr sie nach der "port" Variable hin.
# The MySQL server
[mysqld]
port = 3306
local-infile = 1
......
Nun Speichert Ihr das ganze ab und startet den MySQL Server neu:
Jetzt loggt ihr euch in der gewünschten Datenbank ein:
-u = Username, z.B. web0
-p = Passwort, z.B. test
(ACHTUNG das Passwort steht ohne Leerzeichen nach der Variable -p!!
Also -ptest und NICHT -p test)
-h = Host
--local-infile = Damit die Funktion funktioniert 1 für aktiviert 0 für deaktiviert
Nun sollte bei richtigen Usernamen und Passwort eine ähnliche Meldung wir hier kommen:
Your MySQL connection id is XXX to server version: 4.X.XX
mysql>
Hier meine Komplette MySQL Sitzung:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 977 to server version: 4.1.18
Database changed
mysql> LOAD DATA LOCAL INFILE '/home/mysql_data.dat' INTO TABLE test FIELDS TERMINATED BY '|' LINES TERMINATED BY '\n';
Query OK, 709678 rows affected (20.63 sec)
Records: 709678 Deleted: 0 Skipped: 0 Warnings: 0
Bye
Info: Sie sollten Sie aus Sicherheitsgründen in der my.cnf die Variable "local-infile=" wieder auf 0 setzen.
Wir übernehmen keinerlei Haftung für irgendwelche Schäden, Ausfälle oder sonstigen Geschehnissen.
Alle Angaben sind ohne Gewähr, Sie handeln auf eigenes Risiko!
Alle genannten Soft- und Hardwarebezeichnungen sowie Markennamen sind Eigentum ihrer jeweiligen Inhaber und unterliegen im Allgemeinen warenzeichen-, marken- oder patentrechtlichem Schutz.
Alle Rechte vorbehalten
http://www.root-guide.de/RootGuide/MySQL_LOCAL_INFILE_1148
Gedruckt am: Montag, 06 Februar 2012