MySQL LOAD_FILE retourne NULL

Je veux obtenir SQL LOAD_FILE de la fonction de travail et ont lu chaque question/réponse + documentation à ce sujet, mais voici ce qui se passe.

Quand je veux LOAD_FILE de mon répertoire home:

mysql> SELECT LOAD_FILE('/home/myuser/somefile.txt');
+----------------------------+
| LOAD_FILE('/home/myuser/somefile.txt') |
+----------------------------+
| NULL                       |
+----------------------------+
1 row in set (0.00 sec)

Donc, après cela, je pensais que peut-être le problème, c'est que MySQL ne peut pas accéder à mon répertoire home. Et j'ai essayé de courir ce qui a bien fonctionné:

SELECT LOAD_FILE('/etc/mysql/my.cnf');

Puis SELECT LOAD_FILE('/etc/passwd'); a bien fonctionné ainsi.

Alors j'ai dit je t'ai eu, c'est un fichier/dossier en lecture/propriété problème d'autorisation. Donc, j'ai déplacé mon fichier dans /etc/mysql/mais il ne fonctionne toujours pas. J'ai essayé chown mysql:mysql somefile.txt mais encore, j'ai pas eu de chance:

mysql> SELECT LOAD_FILE('/etc/mysql/somefile.txt');
+----------------------------+
| LOAD_FILE('/etc/mysql/somefile.txt') |
+----------------------------+
| NULL                       |
+----------------------------+
1 row in set (0.00 sec)

P. S.
1. Tous les fichiers sont lisibles par tous les groupes d'utilisateurs, donc pas besoin de faire un chmod. Mais j'ai même essayé de chmod 777 si vous souhaitez poser.
2. J'ai vérifié, secure-fichier-priv variable n'est pas définie dans MySQL, donc non, LOAD_FILE n'est pas restreint à n'importe quel chemin.

Les idées de ce que pourrait être le problème?

Faites de votre fichier de données?
Oui, c'est fait. J'ai mis une phrase ou deux. Moins de 2 KO au total.

OriginalL'auteur Emir | 2014-06-27