Indlæsning af en lokal fil i MySQL er en sikkerhedsrisiko og er deaktiveret som standard, du vil lade den være fra, hvis du kan. Når det ikke er tilladt får du denne fejlmeddelelse:
ERROR 1148 (42000): The used command is not allowed with this MySQL version
Løsninger:
-
Brug
--local-infile=1
argument på mysql-kommandolinjen:Når du starter MySQL på terminalen, skal du inkludere
--local-infile=1
argument, Noget som dette:mysql --local-infile=1 -uroot -p mysql>LOAD DATA LOCAL INFILE '/tmp/foo.txt' INTO TABLE foo COLUMNS TERMINATED BY '\t';
Så er kommandoen tilladt:
Query OK, 3 rows affected (0.00 sec) Records: 3 Deleted: 0 Skipped: 0 Warnings: 0
-
Eller send parameteren ind i mysql-dæmonen:
mysqld --local-infile=1
-
Eller indstil det i my.cnf-filen (Dette er en sikkerhedsrisiko):
Find din mysql
my.cnf
fil og rediger den som root.Tilføj
local-infile
linje under mysqld- og mysql-designerne:[mysqld] local-infile [mysql] local-infile
Gem filen, genstart mysql. Prøv det igen.
Mere info kan findes her:http:// dev.mysql.com/doc/refman/5.1/en/load-data-local.html