Зареждането на локален файл в MySQL е опасност за сигурността и е изключено по подразбиране, искате да го оставите изключено, ако можете. Когато не е разрешено, получавате тази грешка:
ERROR 1148 (42000): The used command is not allowed with this MySQL version
Решения:
-
Използвайте
--local-infile=1аргумент в командния ред на mysql:Когато стартирате MySQL на терминала, включете
--local-infile=1аргумент, Нещо като това:mysql --local-infile=1 -uroot -p mysql>LOAD DATA LOCAL INFILE '/tmp/foo.txt' INTO TABLE foo COLUMNS TERMINATED BY '\t';Тогава командата е разрешена:
Query OK, 3 rows affected (0.00 sec) Records: 3 Deleted: 0 Skipped: 0 Warnings: 0 -
Или изпратете параметъра в демона на mysql:
mysqld --local-infile=1 -
Или го задайте във файла my.cnf (това е риск за сигурността):
Намерете вашия mysql
my.cnfфайл и го редактирайте като root.Добавете
local-infileред под обозначенията mysqld и mysql:[mysqld] local-infile [mysql] local-infileЗапазете файла, рестартирайте mysql. Опитайте отново.
Повече информация можете да намерите тук:https:// dev.mysql.com/doc/refman/5.1/en/load-data-local.html