Le chargement d'un fichier local dans MySQL est un risque pour la sécurité et est désactivé par défaut, vous souhaitez le laisser désactivé si vous le pouvez. Lorsqu'il n'est pas autorisé, vous obtenez cette erreur :
ERROR 1148 (42000): The used command is not allowed with this MySQL version
Solution :
-
Utilisez
--local-infile=1
argument sur la ligne de commande mysql :Lorsque vous démarrez MySQL sur le terminal, incluez
--local-infile=1
argument, Quelque chose comme ça :mysql --local-infile=1 -uroot -p mysql>LOAD DATA LOCAL INFILE '/tmp/foo.txt' INTO TABLE foo COLUMNS TERMINATED BY '\t';
Alors la commande est autorisée :
Query OK, 3 rows affected (0.00 sec) Records: 3 Deleted: 0 Skipped: 0 Warnings: 0
-
Ou envoyez le paramètre dans le démon mysql :
mysqld --local-infile=1
-
Ou définissez-le dans le fichier my.cnf (C'est un risque pour la sécurité) :
Trouvez votre mysql
my.cnf
fichier et modifiez-le en tant que root.Ajoutez le
local-infile
sous les désignateurs mysqld et mysql :[mysqld] local-infile [mysql] local-infile
Enregistrez le fichier, redémarrez mysql. Réessayez.
Plus d'informations peuvent être trouvées ici :http:// dev.mysql.com/doc/refman/5.1/en/load-data-local.html