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

Requêtes MySQL Discussion :

erreur 1045 pour un SELECT INTO OUTFILE - j'ai tout essayé [MySQL-5.5]


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 163
    Points : 59
    Points
    59
    Par défaut erreur 1045 pour un SELECT INTO OUTFILE - j'ai tout essayé
    Bonjour !

    Cela fait quelques heures que je me casse la tête sur ce problème et je cale.

    Je fais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $filename = "/home/helmostex/public_html/exports/export.csv";
    $query = "SELECT 	champ1, champ2, champ3
    			FROM MA_BDD
    			INTO OUTFILE '$filename';";
    $result1=mysqli_query($db, $query);
    J'obtiens un message d'erreur 1045 : Access denied for user 'moncompte'@'localhost' (using password: YES))
    Pourtant :
    • le path dans $filename est correct et j'ai mis les droits 777 au répertoire "exports" (pour être sûr que le problème ne venait pas de permissions sur ce répertoire)
    • j'ai essayé de lancer avant requète (dans mon script php pour qu'il soit lancé de la même manière que ma requète, au cas où) :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      grant all privileges 
        on *.* 
        to 'moncompte'@'localhost'
        identified by 'XX(lemotdepasse)XX'
      flush privileges;
      GRANT FILE ON *.* TO 'moncompte'@'localhost';
      Lorsque je lui demande d'afficher les privilèges avec "SHOW GRANTS FOR 'moncompte'@'localhost'", j'obtiens : "GRANT USAGE ON *.* TO 'moncompte'@'localhost' IDENTIFIED BY PASSWORD GRANT ALL PRIVILEGES ON `MA_BDD`.* TO 'moncompte'@'localhost' "
      J'ai même pensé à redémarrer le service MySQL ensuite pour couper les connexions existantes, cela ne change rien.

    Je ne sais plus que faire : tous les problèmes similaires que je trouve sur le web ont été résolus de cette manière là, je ne trouve plus rien d'autre à essayer...

    Est-ce que vous verriez quelque chose que je puisse tenter ?

    Merci d'avance pour votre aide !

    T.

    ps. j'ai MySQL(i) 5.5.52-cll.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 163
    Points : 59
    Points
    59
    Par défaut
    Ok je me réponds tout seul pour le partage de la solution... Après quelques heures de recherche et d'essais encore ce matin, j'ai trouvé ceci. Explicitement, voici donc ce que j'ai fait :
    • log en ssh sur mon serveur
    • mysql (return)
    • UPDATE mysql.user SET File_priv='Y' WHERE user='moncompte' and HOST='localhost'; (return)
    • exit
    • j'ai ensuite redémarré le service MySQL.

    Cela a résolu le problème... :-)
    En espérant que cela puisse aider d'autres !

  3. #3
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 380
    Points : 19 062
    Points
    19 062
    Par défaut
    Salut trucmuche2005.

    Avec un compte root, en localhost, vous auriez dû remarqué en consultant en consultant vos privilèges à partir de phpmyadmin, que la case "file" n'a pas été coché.



    Vérifiez que toutes vos cases à cocher ont bien été sélectionnées si vous désirez être en mode administrateur avec ce compte.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 163
    Points : 59
    Points
    59
    Par défaut
    Merci mais je n'exécutais pas PHPMyadmin en root, j'accède habituellement à PHPMyAdmin à partir de WHM > Cpanel (compte utilisateur) > PHPMyAdmin.
    Et je n'avais pas trouvé dans WHM comment on pouvait éditer les préférences des utilisateurs MySQL, du coup j'ai dû le faire à la main...
    C'est où ce machin là dans PHPMyAdmin en root ? Je ne l'ai pas trouvé...

  5. #5
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 380
    Points : 19 062
    Points
    19 062
    Par défaut
    Salut trucmuche2005.

    Ce machin là comme tu dis, ce trouve dans phpmyadmin en cliquant sur l'onglet "comptes d'utilisateurs", puis sur la ligne où il y a "root" et "localhost", tu cliques sur "changer les privilèges".
    Je suis dans la dernière version de phpmyadmin, la version 4.6.4.

    Et j'accède en local à phpmyadmin à partir du compte Root de l'hôte "Localhost".

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 163
    Points : 59
    Points
    59
    Par défaut
    Ah ok ; je fais pareil et je ne vois pas l'onglet "comptes utilisateur" mais j'ai la version 4.0.10.14 (visiblement la dernière distribuée par WHM).

  7. #7
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 380
    Points : 19 062
    Points
    19 062
    Par défaut
    Salut trucmuche2005

    Visiblement, tu n'es pas dans le compte root, car pour voir l'onglet "Comptes d'utilisateurs", il faut être administrateur.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 163
    Points : 59
    Points
    59
    Par défaut
    Je SUIS en compte root. PHPMyAdmin affiche :
    Serveur: Localhost via UNIX socket
    Type de serveur: MySQL
    Version du serveur: 5.5.52-cll - MySQL Community Server (GPL)
    Version du protocole: 10
    Utilisateur: root@localhost
    Jeu de caractères du serveur: UTF-8 Unicode (utf8)
    Mais je vois les onglets : Bases de données, SQL, état, Exporter, Importer, Paramètres, Réplication, variables, Jeux de caractères, Moteurs. Mais pas "Comptes utilisateur".
    Raison pour laquelle je suspecte qu'il s'agit d'une version trop ancienne de PHPMyAdmin pour voir cet onglet (?)

  9. #9
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 380
    Points : 19 062
    Points
    19 062
    Par défaut
    Salut trucmuche2005.

    Je viens de vérifier dans une vieille version de phpmyadmin (4.4.15), l'onglet se nomme "utilisateurs" et non "comptes d'utilisateurs" dans les versions plus récentes.

    Citation Envoyé par trucmuche2005
    Raison pour laquelle je suspecte qu'il s'agit d'une version trop ancienne de PHPMyAdmin pour voir cet onglet (?)
    Non, aucun rapport.

    Si vous n'avez pas accès à cet onglet, c'est que votre compte root ne se trouve pas en mode administrateur.

    Avez-vous fait une tentative de connexion avec l'hôte "127.0.0.1" au lieu de "localhost" ?
    Pour ce faire, vous devez modifier votre fichier "config.inc.php" en remplacant ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $cfg['Servers'][$i]['host']	= 'localhost';
    par cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $cfg['Servers'][$i]['host']	= '127.0.0.1';
    Si après cela, vous avez accès à l'onglet "comptes d'utilisateurs", je vous conseille de modifier vos comptes "root", en cochant toutes les cases comme je vous l'ai montré dans l'image que je vous ai donné.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

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

Discussions similaires

  1. [Sauvegarde] SELECT * INTO OUTFILE ou bien Mysqldump ?
    Par mathieu dans le forum Administration
    Réponses: 17
    Dernier message: 25/04/2013, 16h58
  2. erreur javascript pour modifier select avec tableau PHP
    Par omdafer dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 24/03/2008, 12h27
  3. [Requête] probléme de requête : SELECT * INTO OUTFILE
    Par adil_vpb dans le forum Requêtes
    Réponses: 3
    Dernier message: 31/05/2007, 11h04
  4. Erreur 1045 avec select into outfile
    Par mikaelm dans le forum Administration
    Réponses: 7
    Dernier message: 18/08/2005, 14h45
  5. syntaxe "SELECT * INTO OUTFILE....
    Par mick84m dans le forum Requêtes
    Réponses: 2
    Dernier message: 25/04/2005, 09h53

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