Partage
  • Partager sur Facebook
  • Partager sur Twitter

problème local infile

15 juin 2021 à 10:18:12

Bonjour j'ai un problème pour utliser un fichiers texte.csv et le mettre dans le command line client de mysql 8.0 avec la commande 'load data local infile', j'ai pourtant activer le local_infile et quand je regarde la variable local_infile la valeur est 'on' donc normalement je devrais pouvoir prendre des fichiers mais cela ne marche pas, Si quelu'un pourrais m'apporter sont aide. Merci
  • Partager sur Facebook
  • Partager sur Twitter
15 juin 2021 à 12:31:42

Bonjour,

MatisCOLLIN a écrit:

cela ne marche pas

C'est à dire ?

Quelle commande SQL saisis-tu ?

Quel fichier essayes-tu d'importer ?

Quelle est l'erreur exacte retournée ?

  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
15 juin 2021 à 13:38:43

Benzouye a écrit:

Bonjour,

MatisCOLLIN a écrit:

cela ne marche pas

C'est à dire ?

Quelle commande SQL saisis-tu ?

Quel fichier essayes-tu d'importer ?

Quelle est l'erreur exacte retournée ?

mysql> load data local infile 'animal.csv'

    -> into table animal

    -> fields terminated by ';' enclosed by '"'

    -> lines terminated by '\n'

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

ERROR 2068 (HY000): LOAD DATA LOCAL INFILE file request rejected due to restrictions on access.


-Voici le bout de code, j'essaye d'importer un fichier texte.csv afin de remplir un tableau

-
Edité par MatisCOLLIN 15 juin 2021 à 13:40:42

  • Partager sur Facebook
  • Partager sur Twitter
15 juin 2021 à 13:43:12

Et à quel endroit se trouve le fichier animal.csv ?

  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
15 juin 2021 à 13:52:21

Benzouye a écrit:

Et à quel endroit se trouve le fichier animal.csv ?


C:\Users\Matis\Documents
  • Partager sur Facebook
  • Partager sur Twitter
15 juin 2021 à 14:00:40

Je te propose de forcer local-infile lors de la connexion, et de bine préciser le chemin vers ton fichier :

mysql --local-infile=1 -h localhost -u root -p

A adapter selon tes identifiants.

Puis :

load data local infile 'c:\Users\Matis\Documents\animal.csv'
into table animal
fields terminated by ';' enclosed by '"'
lines terminated by '\n'
(espece, sexe, date_naissance, nom, commentaires);
  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
15 juin 2021 à 14:07:02

Erreur 1064 pour la première ligne avec "--local-infile ect"

Et j'ai aussi un autre problème en parallèle que j'ai toujours pas régler, je n'arrive pas accéder a mysql depuis le terminal de windows 10.

Benzouye a écrit:

Je te propose de forcer local-infile lors de la connexion, et de bine préciser le chemin vers ton fichier :

mysql --local-infile=1 -h localhost -u root -p

A adapter selon tes identifiants.

Puis :

load data local infile 'c:\Users\Matis\Documents\animal.csv'
into table animal
fields terminated by ';' enclosed by '"'
lines terminated by '\n'
(espece, sexe, date_naissance, nom, commentaires);


  • Partager sur Facebook
  • Partager sur Twitter
15 juin 2021 à 15:30:54

MatisCOLLIN a écrit:

je n'arrive pas accéder a mysql depuis le terminal de windows 10

C'est à dire ?

Quel est le problème ? Tu ouvres l'invite de commandes et après ?

Poste une copie d'écran.

Si tu n'as pas accès à la console où as-tu saisis la commande vue ci-dessus ?

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

 

Arrivez vous a voir l'image ?

-
Edité par MatisCOLLIN 15 juin 2021 à 15:57:49

  • Partager sur Facebook
  • Partager sur Twitter
15 juin 2021 à 16:03:08

Non ... Cassé ...
  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
15 juin 2021 à 16:07:18

Code inscrit dans le cmd:
C:\Users\A0826721>set PATH=%PATH%;C:\"Program Files"\MySQL\"MySQL Server 8.0"\bin
C:\Users\A0826721>mysql
ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)
  • Partager sur Facebook
  • Partager sur Twitter
16 juin 2021 à 9:38:37

Par contre je n'arrive pas a utiliser la commande suivante:

mysql> source remplissageAnimal.sql;

ERROR:

Failed to open file 'remplissageAnimal.sql', error: 2

Et je n'arrive toujours pas à importer un fichier.



Benzouye a écrit:

https://openclassrooms.com/fr/courses/1959476-administrez-vos-bases-de-donnees-avec-mysql/1959969-installez-mysql#/id/r-1959829

Un peu de lecture ...

J'ai enfin réussi a me connecter a mysql via l'invite de commande, avec un peu plus de lecture j'y suis arriver... ! 



-
Edité par MatisCOLLIN 16 juin 2021 à 9:57:52

  • Partager sur Facebook
  • Partager sur Twitter
16 juin 2021 à 10:03:38

MatisCOLLIN a écrit:

Failed to open file 'remplissageAnimal.sql'

Où se trouve le fichier .sql ? La commande SOURCE suppose que le fichier est disponible dans le répertoire bin de MySQL ... si non, il faut préciser le chemin absolu vers ce fichier ...

Ce genre de question a été traité 1 000 fois sur le net et ce forum ... un peu de recherche ...

-
Edité par Benzouye 16 juin 2021 à 10:05:40

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

Excusez moi si mes questions sont parfois bête mais je tourne en rond depuis deux jours dessus en essayer de regarder tout les forum mais rien n'y change. Mes fichiers sont bien de le répertoire bin de MySQL pourtant.


mysql> source 'remplissageAnimal.sql';

ERROR:

Failed to open file ''remplissageAnimal.sql'', error: 2

mysql> load data local infile 'animal.csv'

    -> fields terminated by ';' enclosed by '"'

    -> lines terminated by '\n'

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

No connection. Trying to reconnect...

ERROR 1049 (42000): Unknown database 'emplissageanimal.sql;'

ERROR:

Can't connect to the server





Benzouye a écrit:

MatisCOLLIN a écrit:

Failed to open file 'remplissageAnimal.sql'

Où se trouve le fichier .sql ? La commande SOURCE suppose que le fichier est disponible dans le répertoire bin de MySQL ... si non, il faut préciser le chemin absolu vers ce fichier ...

Ce genre de question a été traité 1 000 fois sur le net et ce forum ... un peu de recherche ...

-
Edité par Benzouye il y a 2 minutes



  • Partager sur Facebook
  • Partager sur Twitter
16 juin 2021 à 15:58:55

Benzouye a écrit:

sinon, il faut préciser le chemin absolu vers ce fichier ...

Essaye ... tout est dans le cours ...

https://openclassrooms.com/fr/courses/1959476-administrez-vos-bases-de-donnees-avec-mysql/1960995-inserez-des-donnees#/id/r-1978613

MatisCOLLIN a écrit:

Unknown database 'emplissageanimal.sql;'

Revois le cours et l'ordre des choses pour ces deux commandes bien différentes.

-
Edité par Benzouye 16 juin 2021 à 16:00:42

  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
17 juin 2021 à 10:29:27

J'ai revu le cours essayer toutes les commandes mais rien ne marche encore une fois ....



Benzouye a écrit:

Benzouye a écrit:

sinon, il faut préciser le chemin absolu vers ce fichier ...

Essaye ... tout est dans le cours ...

https://openclassrooms.com/fr/courses/1959476-administrez-vos-bases-de-donnees-avec-mysql/1960995-inserez-des-donnees#/id/r-1978613

MatisCOLLIN a écrit:

Unknown database 'emplissageanimal.sql;'

Revois le cours et l'ordre des choses pour ces deux commandes bien différentes.

-
Edité par Benzouye il y a environ 17 heures



  • Partager sur Facebook
  • Partager sur Twitter
17 juin 2021 à 10:46:12

Alors reprenons correctement ...

Peux-tu poster une copie d'écran de ton invite de commandes complet, où l'on voit tout ce que tu fais depuis son ouverture, avec les erreurs ?

Précise aussi où se trouve les fichiers remplissageAnimal.sql et animal.csv.

  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
17 juin 2021 à 11:16:20

Microsoft Windows [version 10.0.19043.1052]
(c) Microsoft Corporation. Tous droits réservés.
C:\Users\A0826721>set PATH=%PATH%;C:\Program Files\MySQL\MySQL Server 8.0\bin
C:\Users\A0826721>mysql -h localhost -u root -p
Enter password: *********
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 8.0.25 MySQL Community Server - GPL
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> use elevage
Database changed
mysql> show variables like 'local_infile';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| local_infile  | ON    |
+---------------+-------+
1 row in set, 1 warning (0.02 sec)
mysql> source C:/"Program Files"/MySQL/"MySQL Server 8.0"/bin/remplissageAnimal.sql;
ERROR:
Failed to open file 'C:\"Program Files"\MySQL\"MySQL Server 8.0"\bin\remplissageAnimal.sql', error: 22
mysql> source remplissageAnimal.sql;
ERROR:
Failed to open file 'remplissageAnimal.sql', error: 2
mysql> load data local infile 'animal.csv'
    -> into table Animal
    -> fields terminated by ';' enclosed by '"'
    -> lines terminated by '\n'
    -> (espece, sexe, date_naissance, nom, commentaires);
ERROR 2068 (HY000): LOAD DATA LOCAL INFILE file request rejected due to restrictions on access.
mysql>

-
Edité par MatisCOLLIN 17 juin 2021 à 11:17:44

  • Partager sur Facebook
  • Partager sur Twitter
17 juin 2021 à 11:20:41

Où se trouve les deux fichiers en question ?

  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
17 juin 2021 à 11:22:39

C:\Program Files\MySQL\MySQL Server 8.0\bin

Dans le répertoire bin


Benzouye a écrit:

Où se trouve les deux fichiers en question ?



  • Partager sur Facebook
  • Partager sur Twitter
17 juin 2021 à 11:56:41

Le cours dit:

Attention : si vous ne lui indiquez pas le chemin, MySQL va aller chercher votre fichier dans le dossier où vous étiez lors de votre connexion.

MatisCOLLIN a écrit:

Dans le répertoire bin

Donc je te dirais bien de positionner le prompt de l'invite de commande sur ton répertoire bin avant de lancer la commande de connexion à mysql.

Après il y a beaucoup de sujets là-dessus et notamment sur les caractères \ ou / et les guillemets ...

-
Edité par Benzouye 17 juin 2021 à 11:58:16

  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
17 juin 2021 à 13:31:14

Benzouye a écrit:

Le cours dit:

Attention : si vous ne lui indiquez pas le chemin, MySQL va aller chercher votre fichier dans le dossier où vous étiez lors de votre connexion.

MatisCOLLIN a écrit:

Dans le répertoire bin

Donc je te dirais bien de positionner le prompt de l'invite de commande sur ton répertoire bin avant de lancer la commande de connexion à mysql.

Après il y a beaucoup de sujets là-dessus et notamment sur les caractères \ ou / et les guillemets ...

-
Edité par Benzouye il y a 5 minutes


C'est à dire ?  (le mot prompt ne m'est pas familier)

Je dois diriger le cmd vers le répertoire bin avant de lancer la commande pour activer MySQL ?

Comment puis-je le diriger ?

Comme ceci ?:

C:\Windows\system32>cd C:\Program Files\MySQL\MySQL Server 8.0\bin

C:\Program Files\MySQL\MySQL Server 8.0\bin>

-
Edité par MatisCOLLIN 17 juin 2021 à 13:34:33

  • Partager sur Facebook
  • Partager sur Twitter
17 juin 2021 à 13:55:15

Oui c'est ça.

  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
17 juin 2021 à 14:05:15

Benzouye a écrit:

Oui c'est ça.

D'accord, donc ensuite je me suis connecter de manière normale a MySQL, puis taper les commandes du cours afin d'importer les fichiers mais j'ai toujours des erreurs ..

mysql> source C:/"Program Files"/MySQL/"MySQL Server 8.0"/bin/remplissageAnimal.sql;

ERROR:

Failed to open file 'C:\"Program Files"\MySQL\"MySQL Server 8.0"\bin\remplissageAnimal.sql', error: 22

mysql> load data local infile 'animal.csv'

    -> into table Animal

    -> fields terminated by ';' enclosed by '"'

    -> lines terminated by '\n'

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

ERROR 2068 (HY000): LOAD DATA LOCAL INFILE file request rejected due to restrictions on access.



  • Partager sur Facebook
  • Partager sur Twitter
17 juin 2021 à 16:20:02

Si sur l'invite de commande tu t'es positionné dans le répertoire où se trouve tes fichiers sql et csv, alors tu peux mettre directement le nom du fichier pour importer.

En simplifié :

C:\>  cd repertoirebin
C:\repertoirebin> mysql -u root -h localhost ...

Enter password: *********

Welcome to the MySQL monitor.

mysql> SOURCE remplissageAnimal.sql;

-
Edité par Benzouye 17 juin 2021 à 16:20:42

  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
18 juin 2021 à 10:01:46

Benzouye a écrit:

Si sur l'invite de commande tu t'es positionné dans le répertoire où se trouve tes fichiers sql et csv, alors tu peux mettre directement le nom du fichier pour importer.

En simplifié :

C:\>  cd repertoirebin
C:\repertoirebin> mysql -u root -h localhost ...

Enter password: *********

Welcome to the MySQL monitor.

mysql> SOURCE remplissageAnimal.sql;

-
Edité par Benzouye il y a environ 16 heures

Pour le premier code cela marche (avec source), mais le deuxième ne marche toujours  pas:

mysql> load data local infile 'animal.csv'

    -> into table animal

    -> fields terminated by ';' enclosed by '"'

    -> lines terminated by '\n'

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

ERROR 2068 (HY000): LOAD DATA LOCAL INFILE file request rejected due to restrictions on access.



  • Partager sur Facebook
  • Partager sur Twitter
18 juin 2021 à 10:38:27

Dans la mesure où le fichier animal.csv est bien dans le dossier bin de mysql, essaye :

C:\>  cd repertoirebin
C:\repertoirebin> mysql -u root -h localhost ...
 
Enter password: *********
 
Welcome to the MySQL monitor.
 
mysql> LOAD DATA INFILE 'animal.csv' ...

On retire ici le LOCAL puisque l'on se trouve dans le répertoire d'exécution de MySQL, sur le "serveur" en fait ...

  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
15 septembre 2021 à 0:26:07

Sur windows je viens de rencontrer le même problème, après avoir réglé l'invite de commande de windows ( utilisé la commande de "PATH" du cours ) je me suis connecté en forçant "mysql --local-infile=1 -u root -p" lors de la connexion.

J'ai veillé a remplacer les "\" par des "/" comme cité dans le cours une fois encore. la commande pour remplir la base de données s'est bien exécuté dans l'invite de commande et après cela partout ailleurs (workbench de MySQL ainsi que la Commande Line Client)

  • Partager sur Facebook
  • Partager sur Twitter
17 septembre 2021 à 14:52:10

Tape SOURCE et tu fais un drag and drop de ton fichier sur l'invite de commande, il va te mettre le chemin et tu n'as juste qu'à cliquer sur entrée. Ne rajoute pas de ";" au bout.
  • Partager sur Facebook
  • Partager sur Twitter

Frédéric La Rosa