Code d'erreur LOAD DATA INFILE 13 : impossible d'accéder au fichier distant
Lors de l'exécution d'une requête LOAD DATA INFILE, les utilisateurs MySQL peuvent rencontrer un code d'erreur 13 en raison de problèmes d'autorisation ou de restrictions d'apparmor.
Identification de la cause première
Malgré l'octroi de privilèges complets à l'utilisateur de la base de données et la définition des autorisations de fichier/dossier sur 777, l'erreur persiste. Ce problème provient probablement d'apparmor, un programme Ubuntu qui empêche l'accès aux fichiers de MySQL.
Résoudre le problème
Modifier Apparmor Configuration :
Ouvrez le fichier de configuration d'apparmor : sudo vim /etc/apparmor.d/usr.sbin.mysqld.
Ajouter un répertoire de fichiers :
Ajoutez la ligne suivante au fichier de configuration : /tmp/** rwk. Cela accorde à MySQL des autorisations de lecture, d'écriture et d'exécution sur le répertoire "/tmp".
Recharger Apparmor :
Redémarrer Apparmor avec : sudo /etc/init.d/apparmor reload.
Notes supplémentaires
Notez que le répertoire ajouté au fichier de configuration peut varier en fonction du emplacement du fichier utilisé dans la requête LOAD DATA INFILE. Il est également recommandé d'utiliser un sous-répertoire spécifique plutôt que d'accorder l'accès à l'intégralité du répertoire "/tmp".
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!