No MySQL, esta mensagem de erro está associada à tentativa de tentar importar um arquivo texto para dentro de uma tabela, no banco de dados.
A mensagem de erro ERROR 1148 (42000): The used command is not allowed with this MySQL version, informa que a declaração (comando) LOAD DATA LOCAL INFILE … não é permitida pela sua versão do MySQL.
Se tudo estiver bem no seu sistema, você pode estar esbarrando em uma limitação imposta pelo servidor de banco de dados e/ou no cliente.
Tente as soluções propostas abaixo.
Inicie o MySQL com a habilidade de carregar arquivos locais
A opção --local-infile
inicia o cliente MySQL com a capacidade ativa de carregar arquivos locais com a declaração LOAD DATA INFILE.
A opção deve vir acompanhada de um valor lógico:
- 0, para desligar e
- 1, para ligar.
Veja um exemplo explícito de uso da opção, para ativar local-infile:
mysql -u root -p --local-infile=1
Se você não usar valor algum, o padrão é habilitar o LOCAL.
Se o seu servidor não tiver suporte ao LOCAL, esta opção não terá efeito algum.
Habilite o LOCAL INFILE dentro da sessão MySQL
Para não ter que sair de dentro do cliente do banco de dados, você pode ativar ou desativar a opção na linha de comando do MySQL. Use o comando SET:
SET GLOBAL local_infile=1; Query OK, 0 rows affected (0.00 sec)
Novamente, se o servidor estiver com esta opção desabilitada, esta solução não adiantará.
Altere a configuração no servidor
Inicie o serviço mysqld com a opção LOCAL-INFILE=TRUE ativada, para dar suporte ao LOCAL no seu servidor MySQL.
Para iniciar o servidor mysqld com a opção ativada, use o seguinte comando:
sudo mysqld --local-infile
Para desligar, use o seguinte comando:
sudo mysqld --verbose --skip-local-infile
Poupe tempo e inclua as configurações no my.cnf
Se você ainda não conhece o my.cnf e não sabe o quanto ele pode lhe ser útil, leia o artigo Use o arquivo de configuração MY.CNF para iniciar mais fácil e rápido sua sessão no MySQL.
Para incluir as configurações pro mysql
(cliente) e pro mysqld
(servidor), edite o my.cnf
:
[mysqld] ... local-infile=1 [mysql] ... local-infile=1
A seguir, reinicie o servidor:
sudo service mysql stop sudo service mysql start
Fonte: http://dev.mysql.com/doc/refman/5.5/en/load-data-local.html.