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
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);
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);
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 ...
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
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 ...
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
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;
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:
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 ...
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)
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.
Frédéric La Rosa