Accès refusé pour LOAD DATA INFILE dans MySQL
Dans MySQL, l'utilisation de l'instruction LOAD DATA INFILE peut entraîner une erreur d'accès refusé, telle que comme "#1045 - Accès refusé pour l'utilisateur 'user'@'localhost' (en utilisant le mot de passe : OUI)."
Cette erreur indique généralement que l'utilisateur actuel l'exécution de la requête ne dispose pas de privilèges suffisants pour charger les données d'un fichier dans une table. Pour résoudre ce problème, assurez-vous que l'utilisateur dispose des autorisations nécessaires.
En particulier, l'utilisateur doit disposer du privilège FILE. Ce privilège permet aux utilisateurs de lire des fichiers à partir du système de fichiers du serveur. Sans ce privilège, l'utilisateur ne pourra pas accéder au fichier spécifié.
Pour accorder le privilège FILE à un utilisateur, exécutez la requête suivante :
GRANT FILE ON *.* TO user_name;
Remplacez user_name par le nom d'utilisateur de l'utilisateur à qui vous souhaitez accorder le privilège.
De plus, pensez à ajouter le mot-clé LOCAL à l'instruction LOAD DATA INFILE. Le mot-clé LOCAL demande à MySQL de lire le fichier depuis la machine client plutôt que depuis le système de fichiers du serveur. Cela peut être plus efficace et sécurisé dans certains cas.
Voici un exemple d'instruction modifiée utilisant LOCAL :
LOAD DATA LOCAL INFILE 'path/to/file.csv' INTO TABLE table_name;
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3