Зареждането на локален файл в 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. Опитайте отново.
Повече информация можете да намерите тук:http:// dev.mysql.com/doc/refman/5.1/en/load-data-local.html