Het laden van een lokaal bestand in MySQL is een veiligheidsrisico en is standaard uitgeschakeld, u wilt het indien mogelijk uitgeschakeld laten. Als het niet is toegestaan krijg je deze foutmelding:
ERROR 1148 (42000): The used command is not allowed with this MySQL version
Oplossingen:
-
Gebruik
--local-infile=1
argument op de mysql-opdrachtregel:Wanneer u MySQL start op de terminal, voeg dan
--local-infile=1
. toe argument, zoiets als dit:mysql --local-infile=1 -uroot -p mysql>LOAD DATA LOCAL INFILE '/tmp/foo.txt' INTO TABLE foo COLUMNS TERMINATED BY '\t';
Dan is het commando toegestaan:
Query OK, 3 rows affected (0.00 sec) Records: 3 Deleted: 0 Skipped: 0 Warnings: 0
-
Of stuur de parameter naar de mysql-daemon:
mysqld --local-infile=1
-
Of zet het in het my.cnf-bestand (Dit is een veiligheidsrisico):
Vind uw mysql
my.cnf
bestand en bewerk het als root.Voeg de
local-infile
. toe regel onder de aanduidingen mysqld en mysql:[mysqld] local-infile [mysql] local-infile
Sla het bestand op, herstart mysql. Probeer het opnieuw.
Meer info is hier te vinden:http:// dev.mysql.com/doc/refman/5.1/en/load-data-local.html