Il caricamento di un file locale in MySQL è un pericolo per la sicurezza ed è disattivato per impostazione predefinita, se possibile, se possibile, è preferibile lasciarlo disattivato. Quando non è consentito viene visualizzato questo errore:
ERROR 1148 (42000): The used command is not allowed with this MySQL version
Soluzioni:
-
Usa
--local-infile=1
argomento sulla riga di comando di mysql:Quando avvii MySQL sul terminale, includi
--local-infile=1
argomento, qualcosa del genere:mysql --local-infile=1 -uroot -p mysql>LOAD DATA LOCAL INFILE '/tmp/foo.txt' INTO TABLE foo COLUMNS TERMINATED BY '\t';
Quindi il comando è consentito:
Query OK, 3 rows affected (0.00 sec) Records: 3 Deleted: 0 Skipped: 0 Warnings: 0
-
Oppure invia il parametro nel demone mysql:
mysqld --local-infile=1
-
Oppure impostalo nel file my.cnf (questo è un rischio per la sicurezza):
Trova il tuo mysql
my.cnf
file e modificalo come root.Aggiungi il
local-infile
riga sotto i designatori mysqld e mysql:[mysqld] local-infile [mysql] local-infile
Salva il file, riavvia mysql. Riprova.
Maggiori informazioni possono essere trovate qui:http:// dev.mysql.com/doc/refman/5.1/en/load-data-local.html