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

PHP & Base de données Discussion :

erreur connexion mysql sur autre serveur [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2006
    Messages
    321
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2006
    Messages : 321
    Points : 142
    Points
    142
    Par défaut erreur connexion mysql sur autre serveur
    Bonjour,

    Voici mon soucis, je bosse sur un serveur, j'ai besoin de me connecter à une base de donnée sur un autre serveur, (les 2 serveurs sont à moi), lorsque j'essai de me connecter simplement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $connect=mysql_connect("benefxxx.xxxxes.net","root","xxxxxxxx");
    voici l'erreur:
    Warning: mysql_connect(): Access denied for user 'root'@'82.112.100.189' (using password: YES) in /home/clients/www/client.xxxxxxxx.fr/test.php on line 2
    Je ne sais absolument pas comment résoudre le problème.

  2. #2
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Je pense qu'il faut sur ton serveur distant que tu autorises les connexions distantes, mysql a un système de privilèges et ton utilisateur root ne doit autoriser que les connexions en localhost il faudra changer ca.
    Je me demande d'ailleurs si ca ne serait pas mieux que tu te crées un nouvel utilisateur expres pour ça plutot que d'utiliser root.

    Regardes ce post qui t'aidera peut etre pour démarrer et dis nous ce que tu as testé si tu bloques toujours
    http://www.developpez.net/forums/sho...exion+distante

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Février 2006
    Messages
    321
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2006
    Messages : 321
    Points : 142
    Points
    142
    Par défaut
    Je pense qu'il faut sur ton serveur distant que tu autorises les connexions distantes, mysql a un système de privilèges et ton utilisateur root ne doit autoriser que les connexions en localhost il faudra changer ca.
    Comment changer ça? ou comment créer un nouvel utilisateur juste pour ça?

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Février 2006
    Messages
    321
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2006
    Messages : 321
    Points : 142
    Points
    142
    Par défaut
    j'ai ajouté dans /etc/hosts du serveur où j'execute le script: 213.xxxxxxxx.234 benefad.xxxxxxxx.net qui correspond à l'ip du serveur ou se trouve la base.


    Mais j'ai toujours le meme problème

  5. #5
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Pour créer un utilisateur tu peux utiliser phpmyadmin (ou n'importe quelle interface) qui va te permettre de te connecter a ton serveur de base de données.
    Tu auras une base qui s'appelle surement mysql et qui contient les informations propres a mysql ainsi qu'une colonne user dans laquelle tu pourras insérer facilement un utilisateur.
    Sinon il faut utiliser le SQL avec GRANT
    http://dev.mysql.com/doc/refman/5.0/...ing-users.html
    Fais attention a ne pas modifier l'utilisateur root ca te couperait ton accès à la base de données sinon !

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Février 2006
    Messages
    321
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2006
    Messages : 321
    Points : 142
    Points
    142
    Par défaut
    j'ai créé l'utilisateur dans phpmyadmin sur le serveur ou se trouve la base, mais j'ai toujours la meme erreur

  7. #7
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Tu as créé l'utilisateur ok, deja est ce que, en local, cet utilisateur fonctionne?
    Et si oui qu'as tu mis dans la colonne Host ?
    Parce que si c'est localhost ca veut dire "toute connexion locale" donc ca interdit les connexions distantes. Si tu veux tout autoriser, il faut (d'apres mes souvenirs) mettre % comme valeur.
    Par contre ca serait plus sur de mettre ton l'ip fixe du serveur a partir duquel tu veux te connecter (si elle est fixe)

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Février 2006
    Messages
    321
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2006
    Messages : 321
    Points : 142
    Points
    142
    Par défaut
    oui j'ai bien mis l'ip de mon serveur qui est fixe

  9. #9
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Ah... Et dans ton script tu as bien changé le nom d'utilisateur qui te sert a la connexion?
    Parce que dans ce cas je ne vois pas trop...

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Février 2006
    Messages
    321
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2006
    Messages : 321
    Points : 142
    Points
    142
    Par défaut
    mysql_connect("ip au lieu de localhost","nouvel_utilisateur","mdp");

    Je me disais où est ce que l'on indique qu'il doit aller sur l'autre serveur?

  11. #11
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Citation Envoyé par taka10
    mysql_connect("ip au lieu de localhost","nouvel_utilisateur","mdp");

    Je me disais où est ce que l'on indique qu'il doit aller sur l'autre serveur?
    Hum, sur ton serveur A tu as ton script qui va se connecter au serveur B qui lui contient la BDD. Donc c'est dans le premier paramètre de mysql_connect() que tu dois mettre l'adresse ip du serveur B

    et dans ta base de données sur le serveur B, dans la table user (pour ton nouvel utilisateur) c'est l'adresse IP du serveur A qu'il faut mettre

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Février 2006
    Messages
    321
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2006
    Messages : 321
    Points : 142
    Points
    142
    Par défaut
    oui c'est ce que j'ai fais

  13. #13
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Je commence à ne plus avoir trop d'idées, sur ton serveur distant tu as surement un log de mysql est-ce que dedans tu auras quelques infos? du style hote refusé, peut etre avec une explication?

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Février 2006
    Messages
    321
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2006
    Messages : 321
    Points : 142
    Points
    142
    Par défaut
    GRANT ALL PRIVILEGES ON `mabase`.* TO 'utilisateur'@'82.xxx.xxx.189' identified by 'motdepasse' ;
    FLUSH PRIVILEGES;

    et ça marche

    merci de ton aide koopajah

  15. #15
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Ravi que tu aies trouvé une solution. Je suis surpris que ca fonctionne en SQL mais pas par phpmyadmin, peut etre y a-t-il un paramètre qu'on a raté tout a l'heure!
    Bonne continuation!

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

Discussions similaires

  1. Connexion ODBC Mysql sur un serveur distant
    Par laulau49 dans le forum MySQL
    Réponses: 9
    Dernier message: 25/01/2010, 08h27
  2. Erreur connexion distante sur Connexion à SQL Serveur
    Par Delphi-ne dans le forum VB.NET
    Réponses: 0
    Dernier message: 12/03/2009, 11h39
  3. [MySQL] Connexion base sur autre serveur
    Par PallBreak dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 15/01/2009, 12h02
  4. [MySQL] Connexion à une base MySQL sur un serveur hébergé
    Par mte2005 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/01/2008, 09h18
  5. Erreur de header sur un serveur et pas sur un autre.
    Par AsQuel dans le forum Langage
    Réponses: 7
    Dernier message: 09/05/2007, 09h27

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