Att ladda en lokal fil i MySQL är en säkerhetsrisk och är avstängd som standard, du vill lämna den avstängd om du kan. När det inte är tillåtet får du detta felmeddelande:
ERROR 1148 (42000): The used command is not allowed with this MySQL version
Lösningar:
-
Använd
--local-infile=1
argument på mysql-kommandoraden:När du startar MySQL på terminalen, inkludera
--local-infile=1
argument, något sånt här:mysql --local-infile=1 -uroot -p mysql>LOAD DATA LOCAL INFILE '/tmp/foo.txt' INTO TABLE foo COLUMNS TERMINATED BY '\t';
Då är kommandot tillåtet:
Query OK, 3 rows affected (0.00 sec) Records: 3 Deleted: 0 Skipped: 0 Warnings: 0
-
Eller skicka parametern till mysql-demonen:
mysqld --local-infile=1
-
Eller ställ in det i my.cnf-filen (Detta är en säkerhetsrisk):
Hitta din mysql
my.cnf
fil och redigera den som root.Lägg till
local-infile
rad under beteckningarna mysqld och mysql:[mysqld] local-infile [mysql] local-infile
Spara filen, starta om mysql. Försök igen.
Mer information finns här:http:// dev.mysql.com/doc/refman/5.1/en/load-data-local.html