Erro no MySQL ao carregar dados do arquivo CSV na tabela

1

Estou tentando carregar o conteúdo de um arquivo CSV em uma tabela usando os seguintes comandos do MySQL no Windows:

LOAD DATA LOCAL INFILE 'C:/Users/TD_DI_026.csv'
INTO TABLE digitalTags
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;

mas isso está me dando um erro The used command is not allowed with this MySQL version Eu já modifiquei o arquivo my.ini para incluir:

[mysql]
loose-local-infile=1

e o comando

SHOW GLOBAL VARIABLES LIKE 'local_infile';

mostra local_infile como ativado.

Eu também tentei remover Local e definir secure_file_priv = "" em my.ini Mas estou recebendo Error Code: 29. File 'C:\Users\TD_DI_026.csv' not found (OS errno 13 - Permission denied)

O que poderia estar causando esse problema?

    
por Learning 01.09.2018 / 13:47

2 respostas

1

Não é um problema, mas sim um recurso de segurança, você precisa ativar explicitamente para cada inclusão de banco de dados a partir do arquivo local:

mysql -u user -p --local-infile=1 YourDatabaseName

Verifique se user concedeu com FILE privilégio

Além disso, não coloque o arquivo CSV em C:\Users\TD_DI_026.csv , mas use o local:

C:\Users\Public\Download\TD_DI_026.csv

Adicione também isso a my.cnf/my.ini :

[mysqld]
     local-infile = 1 
    
por 01.09.2018 / 14:01
0

Error Code: 29. File 'C:\Users\TD_DI_026.csv' not found (OS errno 13 - Permission denied)

O MySQL não pode acessar o arquivo em C:\Users , provavelmente porque é de sua propriedade.

Coloque em algum lugar onde o servidor MySQL possa acessá-lo, ou conceda explicitamente acesso a algum diretório para o usuário MySQL.

    
por 01.09.2018 / 14:11

Tags