Das Laden einer lokalen Datei in MySQL stellt ein Sicherheitsrisiko dar und ist standardmäßig deaktiviert. Sie sollten es nach Möglichkeit deaktiviert lassen. Wenn es nicht erlaubt ist, erhalten Sie diesen Fehler:
ERROR 1148 (42000): The used command is not allowed with this MySQL version
Lösungen:
-
Verwenden Sie
--local-infile=1
Argument in der mysql-Befehlszeile:Wenn Sie MySQL auf dem Terminal starten, schließen Sie
--local-infile=1
ein Argument, etwa so:mysql --local-infile=1 -uroot -p mysql>LOAD DATA LOCAL INFILE '/tmp/foo.txt' INTO TABLE foo COLUMNS TERMINATED BY '\t';
Dann ist der Befehl erlaubt:
Query OK, 3 rows affected (0.00 sec) Records: 3 Deleted: 0 Skipped: 0 Warnings: 0
-
Oder senden Sie den Parameter an den mysql-Daemon:
mysqld --local-infile=1
-
Oder setzen Sie es in der Datei my.cnf (Dies ist ein Sicherheitsrisiko):
Finden Sie Ihre mysql
my.cnf
Datei und bearbeiten Sie sie als root.Fügen Sie die
local-infile
hinzu Zeile unter den Bezeichnern mysqld und mysql:[mysqld] local-infile [mysql] local-infile
Speichern Sie die Datei, starten Sie mysql neu. Versuchen Sie es erneut.
Weitere Informationen finden Sie hier:http:// dev.mysql.com/doc/refman/5.1/en/load-data-local.html