Ł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=1argument w wierszu poleceń mysql:Kiedy uruchamiasz MySQL na terminalu, dołącz
--local-infile=1argument, 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.cnfplik i edytuj go jako root.Dodaj
local-infilewiersz pod desygnatorami mysqld i mysql:[mysqld] local-infile [mysql] local-infileZapisz plik, uruchom ponownie mysql. Spróbuj ponownie.
Więcej informacji można znaleźć tutaj:https:// dev.mysql.com/doc/refman/5.1/en/load-data-local.html