Partage
  • Partager sur Facebook
  • Partager sur Twitter

Cours Sur BDD - mySQL 8.0

ERROR 2068 (HY000): restrictions on access

26 juin 2021 à 23:34:22

Hello à tous,

débutant en base de donnée, à mon tour de rencontrer cette erreur pour loader le fichier animal.csv afin de peupler la table Animal de la Database elevage (Chapitre "Insérez des données").

J'ai fait pas mal de tests mais je dois mal m'y prendre.

Voici quelques instructions que je rentre dans le terminal, je vais essayer de récapituler :

set PATH=%PATH%;C:\"Program Files"\MySQL\"MySQL Server 8.0"\bin
-- initialisation

mysql -h localhost -u root -p
-- choix du user

LOAD DATA LOCAL INFILE 'animal.csv' INTO TABLE Animal FIELDS TERMINATED BY ';' ENCLOSED BY '"' LINES TERMINATED BY '\n' (espece, sexe, date_naissance, nom, commentaires);
-- load .csv

j'ai testé de mettre le csv dans bin, data, upload, rien n'y fait. Je ne comprends pas bien ce que je fais. J'ai essayé plusieurs cas de figure, avec le user root et un autre que j'ai créé (Leon).

J'ai changé le chemin après INFILE, en essayant de supprimer le mot 'LOCAL', avec insertion de doubles cotes pour les termes avec espaces

A noter : j'ai plusieurs dossiers mySQL sur mon ordi, je ne sais pas pourquoi :

- dans Program Files

- dans Program files x86

- dans ProgramData (transparent dans l'explorateur?)

J'ai testé de modifier le my.ini en ajoutant quelque chose comme local_infile derrière [mysql] et [mysqld], en enregistrant en administrateur mais comme cela ne marchait pas, j'ai remis le fichier comme avant.

Après mes recherches sur le forum j'ai fait ceci :

SHOW VARIABLES LIKE "secure_file_priv";

SET GLOBAL local_infile=1;

SHOW GLOBAL VARIABLES LIKE 'local_infile';

mais je n'ai pas compris cela :

ajouter "--local-infile=1" dans le shortcut pour lancer le Shell MySQL sur le user 'root':

C:\MySQL\bin\mysql.exe "--defaults-file=C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" "-uroot" "-p" "--default-character-set=utf8mb4" "--local-infile=1"

J'ai essayé d’effacer un user anonyme :

DELETE FROM mysql.user WHERE user='' AND host='localhost';
FLUSH PRIVILEGES;

A force de relancer je crains d'avoir fait les étapes pas dans le bon ordre.

Le problème de base est un soucis de confidentialité d'après ce que j'ai compris.

Lié à une problématique de présence du fichier cote serveur et/ou cote client

J'ai cru comprendre qu'il peut y avoir un conflit de versions lié à la date de parution du cours, mais je n'ai pas réussi à identifier dans la doc comment activer la possibilité de charger des fichiers locaux.

Je suis passé par plusieurs erreurs et la dernière en date est : 2068 (HY000): LOAD DATA LOCAL INFILE file request rejected due to restrictions on access

Merci pour votre aide,

bonne journée,

Elie

  • Partager sur Facebook
  • Partager sur Twitter
28 juin 2021 à 9:48:24

Bonjour,

Regarde ce sujet récent où nous avons balayé pas mal de questions : https://openclassrooms.com/forum/sujet/probleme-local-infile

  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
4 juillet 2021 à 11:32:19

Bonjour,

Perso je l'ai fait de cette façon et tout a bien fonctionné.

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

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

-
Edité par Benzouye 5 juillet 2021 à 9:16:51

  • Partager sur Facebook
  • Partager sur Twitter
11 juillet 2021 à 11:42:01

Merci pour votre aide,

voici le code qui a enfin fonctionné pour moi :

-- placement du fichier animal.csv dans C:\MAMP\bin\mysql\bin
mysql -u root -h localhost -p
USE elevage;
SET GLOBAL local_infile=1;
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 me suis aperçu que j'utilise par erreur Mamp sur windows 7. :(
J'hésite à switcher maintenant sur Wamp car j'ai pas mal de petits projets dans htdocs et je crains que plus rien ne fonctionne après la migration.
Au fait, Je viens de découvrir Kaggle et la possibilité de récupérer, des données comme les équipes de Fifa en.csv, pouvez-vous me conseiller pour commencer un petit projet personnel autour de çà pour m'entrainer ?

Bonne journée,

Elie

  • Partager sur Facebook
  • Partager sur Twitter