Maison >base de données >tutoriel mysql >LOAD DATA INFILE Code d'erreur 13 : Pourquoi MySQL ne peut-il pas accéder à mon fichier ?

LOAD DATA INFILE Code d'erreur 13 : Pourquoi MySQL ne peut-il pas accéder à mon fichier ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-03 16:30:03718parcourir

LOAD DATA INFILE Error Code 13: Why Can't MySQL Access My File?

LOAD DATA INFILE Code d'erreur : 13 - Une procédure technique pas à pas

Cet article vise à fournir une solution complète au code d'erreur MySQL 13, qui se produit lors de la tentative de chargement de données à partir d'un fichier à l'aide de l'instruction LOAD DATA INFILE.

Comprendre l'erreur

Le code d'erreur 13 indique que MySQL ne parvient pas à acquérir les statistiques du fichier. pour le fichier spécifié. Dans la requête fournie, MySQL tente de charger les données du fichier « /httpdocs/.../.../testFile.csv » mais rencontre un problème.

Dépannage et résolution

a. Vérifiez les privilèges de l'utilisateur

Assurez-vous que l'utilisateur de la base de données dispose de privilèges suffisants pour accéder à la fois au fichier et à la table de la base de données. Dans ce cas, l'utilisateur 'userName' a obtenu tous les privilèges sur '.' et 'userName_%', ce qui devrait suffire.

b. Autorisations de fichiers et de dossiers

Vérifiez que le fichier et le dossier contenant le fichier disposent des autorisations appropriées. Les autorisations fournies de « 777 » (rwxrwxrwx) indiquent que tous les utilisateurs disposent d'autorisations de lecture, d'écriture et d'exécution, ce qui devrait être suffisant.

c. Interférence AppArmor (Ubuntu)

Si le système d'exploitation est Ubuntu, l'application AppArmor peut interférer avec l'accès de MySQL au fichier. Pour résoudre ce problème :

  • Modifiez le fichier de configuration AppArmor (/etc/apparmor.d/usr.sbin.mysqld) et ajoutez la ligne '/tmp/** rwk' pour autoriser MySQL en lecture et en écriture. et exécutez les autorisations sur le répertoire /tmp.
  • Rechargez AppArmor avec la commande 'sudo /etc/init.d/apparmor reload'.

Conseils supplémentaires

  • Assurez-vous que le chemin du fichier spécifié dans la requête est exact et que le fichier existe à l'emplacement spécifié.
  • Vérifiez le format du fichier et assurez-vous qu'il correspond à la définition d'importation. dans l'instruction LOAD DATA INFILE.
  • Vérifiez que la structure de la table correspond au format des données dans le fichier.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn