2011-10-24 3 views
0

avec phpMyAdmin, je suis en train d'importer un fichier via la syntaxe suivante ...Pourquoi MySQL ne peut-il pas lire ce fichier?

LOAD DATA INFILE '/home/kim/development/www/ref_data/ISO_3100_Country_Codes.txt' 
INTO TABLE country 
FIELDS TERMINATED BY ';' 
LINES TERMINATED BY '\r\n' 
IGNORE 2 LINES 
(name, code); 

... mais je reçois une erreur indiquant que le fichier est introuvable (Errcode 13).

J'utilise Ubuntu 11.10 et les autorisations du fichier sont 777.

Je suis ouvert une session en tant que root et l'utilisateur root a le privilège FILE. J'ai regardé en utilisant le mot-clé LOCAL, mais cela a jeté une erreur PHP (et je préférerais ne pas avoir à transporter la table sur la connexion client-serveur chaque fois que je veux l'importer).

La disposition du système de fichiers correspond à la configuration par défaut d'Ubuntu.

Il n'y a eu aucune modification des privilèges depuis le redémarrage du serveur, mais j'ai exécuté FLUSH PRIVILEGES juste pour être sûr. Cela n'a fait aucune différence.

Toute aide appréciée!

Répondre

1

Avez-vous essayé de console MySQL? Vous aurez besoin du mot-clé LOCAL. Sinon, la commande ressemble à ce que j'ai fait la semaine dernière, devrait fonctionner ;-)

+0

Merci Risto, la console a fonctionné. Quelle pourrait être la différence? Aussi, pourquoi ai-je besoin de LOCAL lorsque j'utilise la console? –

+0

Sans LOCAL, le serveur recherche le fichier à partir de son propre système de fichiers. J'utilise toujours local. – Risto

Questions connexes