Ładowanie lokalnego pliku w MySQL jest zagrożeniem bezpieczeństwa i jest domyślnie wyłączone, jeśli możesz, chcesz je wyłączyć. Gdy nie jest to dozwolone, pojawia się ten błąd:
ERROR 1148 (42000): The used command is not allowed with this MySQL version
Rozwiązania:
-
Użyj
--local-infile=1
argument w wierszu poleceń mysql:Kiedy uruchamiasz MySQL na terminalu, dołącz
--local-infile=1
argument, coś takiego:mysql --local-infile=1 -uroot -p mysql>LOAD DATA LOCAL INFILE '/tmp/foo.txt' INTO TABLE foo COLUMNS TERMINATED BY '\t';
Wtedy polecenie jest dozwolone:
Query OK, 3 rows affected (0.00 sec) Records: 3 Deleted: 0 Skipped: 0 Warnings: 0
-
Lub wyślij parametr do demona mysql:
mysqld --local-infile=1
-
Lub ustaw go w pliku my.cnf (jest to zagrożenie bezpieczeństwa):
Znajdź swój mysql
my.cnf
plik i edytuj go jako root.Dodaj
local-infile
wiersz pod desygnatorami mysqld i mysql:[mysqld] local-infile [mysql] local-infile
Zapisz plik, uruchom ponownie mysql. Spróbuj ponownie.
Więcej informacji można znaleźć tutaj:http:// dev.mysql.com/doc/refman/5.1/en/load-data-local.html