Partage
  • Partager sur Facebook
  • Partager sur Twitter

erreur 1148 MySQL insertion fichier externe csv

18 juin 2018 à 22:06:41

Bonsoir à tous,

Je suis sous Windows 10. Je travaille le cours sur l'administration d'une base de données avec MySQL et je rencontre une erreur lorsque je cherche à importer des données via un fichier externe

LOAD DATA LOCAL INFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/animal.csv'
INTO TABLE Animal
FIELDS TERMINATED BY ';' ENCLOSED BY '"'
LINES TERMINATED BY '\n' -- ou '\r\n' selon l'ordinateur et le programme utilisés pour créer le fichier
(espece, sexe, date_naissance, nom, commentaires);


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

Je ne sais vraiment pas comment y pallier.

Merci d'avance de vos réponses :-) 

  • Partager sur Facebook
  • Partager sur Twitter
19 juin 2018 à 9:08:28

Bonjour,

Quelle est ta version de MySQL ? Précisée lors du lancement de la console ...

  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
19 juin 2018 à 10:13:00

Bonjour,

Merci de ta réponse.

Your MySQL connection id is 8
Server version: 8.0.11 MySQL Community Server - GPL
  • Partager sur Facebook
  • Partager sur Twitter
19 juin 2018 à 13:41:35

Tu es connecté avec quel utilisateur ? root ? autre ?
  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
19 juin 2018 à 14:22:36

J'ai essayé en me connectant avec root tout comme avec un compte admin créé à l'installation de MySQL, même erreur dans les deux cas
  • Partager sur Facebook
  • Partager sur Twitter
2 juillet 2018 à 14:37:09

Bonjour, 

J'ai exactement la même erreur (même système d'exploitation et même version de MYSQL).

Je poste ce message dans l'espoir de rouvrir le sujet et d'avoir une solution, car après avoir écumer les différents forum possibles, je n'ai rien trouvé...

Merci par avance!

  • Partager sur Facebook
  • Partager sur Twitter
3 juillet 2018 à 16:34:58

Salut,

N'ayant pas reçu d'aide et n'ayant pas trouvé de solution par moi-même, j'ai laissé tomber et je suis passé à la suite. Bon courage à toi

  • Partager sur Facebook
  • Partager sur Twitter
4 juillet 2018 à 16:33:20

Il s'agit d'un problème de configuration:

https://dev.mysql.com/doc/refman/8.0/en/load-data-local.html

If LOCAL capability is disabled, on either the server or client side, a client that attempts to issue a LOAD DATA LOCAL statement receives the following error message:


ERROR 1148: The used command is not allowed with this MySQL version



  • Partager sur Facebook
  • Partager sur Twitter
24 juillet 2018 à 13:59:40

Bonjour , 

j'arrive ici pour le même problème !!!

je comprends qu'il faut changer des fichiers de config, mais je suis sur Mac

et je ne sais pas où se trouvent les fichiers à modifier et quoi modifier ...

j'ai essayé mysql -u root -p --local-infile

et aussi mysql -u root -p --enable-local infile

mais rien n'y fait ( je crois que c'est pour Linux )

Le fichier my.cnf n'exit pas sur mon mac ...il a surement un autre nom !!

Laurent

-
Edité par LaurentG37 24 juillet 2018 à 14:10:19

  • Partager sur Facebook
  • Partager sur Twitter
6 août 2018 à 20:44:16

Bonjour, 

J'ai exactement le même problème, sous Mac Sierra :

Après la commande :

LOAD DATA LOCAL INFILE 'animal.csv'

INTO TABLE Animal

FIELDS TERMINATED BY ';' ENCLOSED BY '"'

LINES TERMINATED BY '\n' -- ou '\r\n' selon l'ordinateur et le programme utilisés pour créer le fichier

(espece, sexe, date_naissance, nom, commentaires);

je reçois :

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

J'utilise :

Server version: 8.0.12 MySQL


J'ai essayé :


mysql -p -u root --enable-local-infile

et

mysql -p -u mon_nom --enable-local-infile


Aucun changement!

Par ailleurs, comment indique-t-on le chemin pour le fichier 'animal.csv' ?

Je dois utiliser l'importation de fichiers .csv dans mes futures applications, donc c'est important pour moi.

Merci!

-----------------------------------------------

  • Partager sur Facebook
  • Partager sur Twitter
Triskell30
21 août 2018 à 9:21:47

Bonjour,

Je rencontre exactement le même problème, sous Windows 10 avec MySQL 8.0.12.

C'est dommage de ne pas avoir la solution pour pouvoir suivre le cours dans les meilleures conditions. Ce serait vraiment formidable d'avoir un retour à ce sujet.

Merci

  • Partager sur Facebook
  • Partager sur Twitter
21 août 2018 à 11:14:46

Vérifie que la variable local_infile soit à 1

SHOW VARIABLES where Variable_name = 'local_infile';

Si elle est à faux, soit modifier la valeur dans le mysql.ini loose-local-infile=1

Soit jouer la requête :

SET @@global.local_infile = 1;



-
Edité par florent m 8 novembre 2018 à 9:23:09

  • Partager sur Facebook
  • Partager sur Twitter
5 septembre 2018 à 11:37:57

Même chose ici, impossible d'importer le fichier csv même quand le local_infile est à 1.

Pour ceux qui veulent continuer le tuto, personnellement j'ai changé la 2è table en :

INSERT INTO Animal (espece, sexe, date_naissance, nom, commentaires) VALUES
('chat','M','2009-05-14 06:42:00','Boucan',NULL),
('chat','F','2006-05-19 16:06:00','Callune',NULL),
('chat','F','2009-05-14 06:45:00','Boule',NULL),
('chat','F','2008-04-20 03:26:00','Zara',NULL),
('chat','F','2007-03-12 12:00:00','Milla',NULL),
('chat','F','2006-05-19 15:59:00','Feta',NULL),
('chat','F','2008-04-20 03:20:00','Bilba','Sourde de l\'oreille droite à 80%'),
('chat','F','2007-03-12 11:54:00','Cracotte',NULL),
('chat','F','2006-05-19 16:16:00','Cawette',NULL),
('tortue','F','2007-04-01 18:17:00','Nikki',NULL),
('tortue','F','2009-03-24 08:23:00','Tortilla',NULL),
('tortue','F','2009-03-26 01:24:00','Scroupy',NULL),
('tortue','F','2006-03-15 14:56:00','Lulla',NULL),
('tortue','F','2008-03-15 12:02:00','Dana',NULL),
('tortue','F','2009-05-25 19:57:00','Cheli',NULL),
('tortue','F','2007-04-01 03:54:00','Chicaca',NULL),
('tortue','F','2006-03-15 14:26:00','Redbul','Insomniaque'),
('tortue','M','2007-04-02 01:45:00','Spoutnik',NULL),
('tortue','M','2008-03-16 08:20:00','Bubulle',NULL),
('tortue','M','2008-03-15 18:45:00','Relou','Surpoids'),
('tortue','M','2009-05-25 18:54:00','Bulbizard',NULL),
('perroquet','M','2007-03-04 19:36:00','Safran',NULL),
('perroquet','M','2008-02-20 02:50:00','Gingko',NULL),
('perroquet','M','2009-03-26 08:28:00','Bavard',NULL),
('perroquet','F','2009-03-26 07:55:00','Parlotte',NULL);



  • Partager sur Facebook
  • Partager sur Twitter
28 octobre 2018 à 2:12:31

Merci beaucoup florent m. Ça a marché chez moi.

La solution à ce problème consiste à activer l'option --local-infile grâce à la commande SET@@global.local_infile = 1;

  • Partager sur Facebook
  • Partager sur Twitter
28 octobre 2018 à 19:38:44

J'avais le même problème que WaitWaitW, je l'ai résolu en faisant les étapes suivantes:

1. Une fois connecté en root à MySQL j'ai suivi les recommendations de florent m:

SET @@global.local_infile = 1;

2. puis pour me connecter avec le compte student j'ai passé local_infile=1:

mysql -u student -p elevage --local-infile=1


Il m'a bien fallu faire les deux étapes pour que cela fonctionne, juste le point 1 ou le point 2 n'était pas suffisant.

-
Edité par dawiiid 28 octobre 2018 à 19:40:17

  • Partager sur Facebook
  • Partager sur Twitter
30 octobre 2018 à 18:21:38

Ça a fonctionné pour moi avec que le point 1 en restant en root du coup :) je continuerai à travailler en student après mais bon voilà. Par contre ça serait chouette d'épingler cette réponse dans le fofo consacré à ce cours ou encore plus chouette dans le cours directement !!!!!!!  je viens de perdre mon après midi à essayer de résoudre ce problème (forum en anglais, notice incompréhensible en anglais pour une débutante, je ne sais plus combien de message dans le sujet du cours sur ce fofo enfin bref la mort quoi...)

Merci de tenir compte du nombre de retours pour accepter l'idée que le cours est mal fait sur ce point et enfin le mettre à jour correctement.

Et enfin bien entendu merci pour la réponse.

  • Partager sur Facebook
  • Partager sur Twitter
22 février 2019 à 17:32:27

Merci Pour toutes vos réponses!

J'ai eu le même problème, et en prenant des idées à gauche et à droite ça fonctionne!

Ce que j'ai fait:

Me reconnecter sur le compte root à partir de l'invité de commande en tapant:

mysql -u root -p --local-infile elevage

puis toujours avec cet utilisateur:

SET @@global.local_infile = 1;

Et ça fonctionne :) Courage aux prochains qui passeront par ici ;)

  • Partager sur Facebook
  • Partager sur Twitter
24 février 2019 à 10:26:22

Bonjour,

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL