IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Installation MySQL Discussion :

Signification de File_priv dans users de la BD mysql


Sujet :

Installation MySQL

  1. #1
    BBF
    BBF est déconnecté
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Signification de File_priv dans users de la BD mysql
    Bonjour à tous,

    Voici le contexte:
    J'ai eu application qui fonctionne correctement sur easyphp1.6, nous utilisons maintenant easyphp1.8 mais on a configuré les paramètres de php.ini de manière à ce que cela fonctionne.
    Nous utilisons un serveur où figure 3 applications différentes.
    Mais et voici mon problème, j'ai des erreurs avec le code sql:
    load data infile chemin... into table FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '\"' IGNORE 1 LINES
    Je l'utilise dans la fonction php mysql_query qui me retourne false.
    Je pensais que l'administrateur ne me donne pas tous les droits et particulièrement le droit file_priv de la table user de la base de données mysql.
    Est-ce que je me trompe? Faut-il avoir ce privilège pour importer des fichiers csv dans une base de données mysql?

  2. #2
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut Re: Signification de File_priv dans users de la BD mysql
    Citation Envoyé par BBF
    Faut-il avoir ce privilège pour importer des fichiers csv dans une base de données mysql?
    Oui, si tant est que le fichier à importer se trouve sur le serveur.
    Pour importer un fichier situé sur le poste client, tu peux utiliser LOAD DATA LOCAL INFILE (sans droit particulier).
    Pensez au bouton

  3. #3
    BBF
    BBF est déconnecté
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Signification de File_priv dans users de la BD mysql
    Merci c'est exactement cela.
    Je vois un peu plus clair.
    Le script PHP sauvegarde le fichier à importer dans le dossier www/Eservices(nom de l'application)/import/ puis il importe à partir de ce dossier le fichier dans la base de données.
    Donc, il ne faut pas que j'utilise le LOCAL (si j'ai bien compris) et que je mets le privilège file_priv sur Yes.
    Peux-tu m'expliquer le role de ces paramètres?

  4. #4
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    En fait si ton serveur Web tourne sur la même machine que le serveur MySQL, tu peux utiliser les deux (avec LOCAL et sans LOCAL).

    Si le serveur Web est séparé, tu es obligé d'utiliser LOCAL.
    Pensez au bouton

  5. #5
    BBF
    BBF est déconnecté
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Signification de File_priv dans users de la BD mysql
    Oui, je dois donner des détails supplémentaires.

    En fait, on utilise une application écrit sous php testé sur easyphp 1.6.
    Depuis 1 an, on travaille en local et aucun problème n'est apparu mais la base a grossi et pour des raisons de sécuriter, on a demandé un serveur sous easyphp 1.8 à notre service informatique.
    Après s'être battu avec le service pour trouver la bonne configuration du fichier php.ini pour faire fonctionner correctement l'application sur 1.8, on est tombé sur ce problème d'importation.
    La configuration actuelle est la suivante:
    un serveur utilisant easyphp 1.8 où l'application et les données sont sauvegardées.
    4 ordinateurs qui utilisent l'application.
    Donc, si j'ai bien compris, vu que le script php sauvegarde le fichier sur le serveur, il faut absolument le paramètre file_priv.
    J'espère que j'étais clair.
    Dis moi si je me suis trompé.
    Merci

  6. #6
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut Re: Signification de File_priv dans users de la BD mysql
    Citation Envoyé par BBF
    Donc, si j'ai bien compris, vu que le script php sauvegarde le fichier sur le serveur, il faut absolument le paramètre file_priv.
    J'avais zappé le fait que tu utilises EasyPHP

    En fait comme je te disais, tu peux utiliser soit LOAD DATA soit LOAD DATA LOCAL puisque les serveurs MySQL et Web sont sur la même machine (regroupés dans EasyPHP).

    Le problème du paramètre file_priv ne se pose que dans le cas d'un LOAD DATA INFILE (il faut rajouter ce privilège pour que l'utilisateur MySQL lise le fichier sur le serveur).

    Avec un LOAD DATA LOCAL INFILE, c'est le client (donc le script PHP) qui lit le fichier et le transmet au serveur MySQL. Je te conseille plutôt cette méthode puisqu'il n'y a aucun droit spécial à configurer...
    Pensez au bouton

  7. #7
    BBF
    BBF est déconnecté
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Signification de File_priv dans users de la BD mysql
    Merci pour tes réponses, je commence à comprendre.

    Là je fais un test sur un portable en dehors du réseau pour plus de sécurité et je comprends pas ce qui arrive.
    J'ai donc easyphp 1.8 bien configuré et j'ai donc mis LOAD DATA LOCAL INFILE et ca ne fonctionne pas mais dès que je mets le paramètre file_priv , l'importation fonctionne. Là aussi, c'est un cas particulier?
    Alors, je me dis que même pour l'application sur le serveur et la base, je dois mettre file_priv pour être sûr.
    Y-a-t-il un risque pour les autres application du serveur si on met ce paramètre sur Yes (ce sont des arguments pour que le service informatique suive)?
    Merci.

    Dernier détail pour me rassurer:
    Entre easyphp 1.6 et 1.8 pour que l'application développée sur 1.6 fonctionne sur 1.8, il faut que:
    register_global = on
    error_reporting = E_ALL & ~E_NOTICE
    allow_call__time_pass_reference = on
    S'il me manque des points, peux-tu me les indiquer?
    Sinon, on fait çà pour faciliter le travail du service informatique.
    Merci.

  8. #8
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut Re: Signification de File_priv dans users de la BD mysql
    Citation Envoyé par BBF
    J'ai donc easyphp 1.8 bien configuré et j'ai donc mis LOAD DATA LOCAL INFILE et ca ne fonctionne pas mais dès que je mets le paramètre file_priv , l'importation fonctionne. Là aussi, c'est un cas particulier?
    Bizarre, ce n'est pas ce que dit la doc et j'ai testé, pour moi ça fonctionne bien sans privilège file_priv.

    Y-a-t-il un risque pour les autres application du serveur si on met ce paramètre sur Yes (ce sont des arguments pour que le service informatique suive)?
    Oui et non, ce privilège signifie seulement que l'utilisateur peut faire un LOAD DATA INFILE ou un SELECT INTO OUTFILE sur les fichiers auxquels le serveur MySQL a accès.

    Dernier détail pour me rassurer:
    Entre easyphp 1.6 et 1.8 pour que l'application développée sur 1.6 fonctionne sur 1.8, il faut que:
    register_global = on
    error_reporting = E_ALL & ~E_NOTICE
    allow_call__time_pass_reference = on
    Je n'en sais rien, je n'utilise pas EasyPHP
    Pensez au bouton

  9. #9
    BBF
    BBF est déconnecté
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Signification de File_priv dans users de la BD mysql
    Merci.

    Je pense avoir tout au main pour régler ce problème.

    Merci et peut être à bientôt.

  10. #10
    BBF
    BBF est déconnecté
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Signification de File_priv dans users de la BD mysql
    Après quelques essais avec l'administratuer et le service informatique, totu fonctionne correctement dans l'importation des fichiers dans la base.
    C'était bien le file_priv qui posait problème. Avec file_priv sur Y, tout est OK.
    Merci encore pour ces indications.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. signification de endpoint dans un service Web
    Par menzlitsh dans le forum Services Web
    Réponses: 4
    Dernier message: 13/09/2010, 12h37
  2. Signification de N dans une clause WHERE
    Par satanas dans le forum SQL
    Réponses: 3
    Dernier message: 20/06/2008, 15h49
  3. evenement dans user control
    Par nashouille dans le forum ASP.NET
    Réponses: 4
    Dernier message: 23/05/2008, 11h19
  4. Signification de termes dans un langage C
    Par johnny3 dans le forum Débuter
    Réponses: 5
    Dernier message: 12/05/2008, 15h06
  5. [68k] Signification de "UD" dans listing de désassemblage ?
    Par Belgitaes dans le forum Autres architectures
    Réponses: 2
    Dernier message: 10/10/2007, 09h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo