How can I correct MySQL Load Error

octopusgrabbus picture octopusgrabbus · Apr 29, 2013 · Viewed 37.5k times · Source

I'm not quite sure a similar question to this was closed by I'm trying to execute the following MySQL program.

mysql -e "load data local infile \
'/tmp/ept_inventory_wasp_export_04292013.csv' into \
table wasp_ept_inv fields terminated by ',' \
lines terminated by '\n' ;"

at the bash command line and get this error

ERROR 1148 (42000) at line 1: The used command is not allowed with this MySQL version

How can I work around this problem?

I am actually running this command from a Python program, but pulled the command out to try fiddling with it at the bash command line.

I've seen how I can modify my.cnf (local-infile), but I do not want that global a change if I can avoid it.

Here's the MySQL version.

mysql Ver 14.14 Distrib 5.5.31, for debian-linux-gnu (i686) using readline 6.2

Answer

octopusgrabbus picture octopusgrabbus · Apr 29, 2013

The workaround for this is to modify the command line mysql -e to pass in the --local-infile=1 argument like this:

mysql --local-infile=1 -u username -p `

Then run the LOAD DATA LOCAL INFILE command again.