Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2988 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  connexion a une base de donnée distante

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

connexion a une base de donnée distante

n°757999
cymp
Posté le 09-06-2004 à 15:22:30  profilanswer
 

Salut :)
 
  Alors voila en php j'ai cette ligne bien connue: mysql_connect($host,$login,$password).En mettant "localhost","root","" j'arrive a me connecter a ma base de donnée installée sur le pc ou le php est lu. Maintenant, je veux que mon code php lance une connexion sur une base de donnée sur une machine distante dont je connais l'ip. J'ai donc mis comme paramètre : "xxx.xxx.xxx.xxx(adresse de la machine distante)","root","". Mais ca marche pas il veut pas se connecter :(
 
qqn a une suggestion? :)
merci

mood
Publicité
Posté le 09-06-2004 à 15:22:30  profilanswer
 

n°758016
cymp
Posté le 09-06-2004 à 15:34:32  profilanswer
 

ca vient de "root" et "" qui ne sont valables que sur une connexion locale?

n°758024
dropsy
et bonne chance surtout...
Posté le 09-06-2004 à 15:39:35  profilanswer
 

il peut y avoir plusieurs raisons, j'en vois déjà deux:
- il n'y a pas de compte root sans password pour les connexions à distances (sous mysql, tu peux définir des compts "locaux" et des comptes distants, vérifie que tu aies bien un compte distant ;) )
- ton hébergeur n'autorise pas les connexions ailleurs que chez lui (dans le cas où ce n'est pas toi l'hébergeur, bien sûr)
 
edit: ceci dit, root sans mot de passe c'est mal, surtout pour les comptes distants :o


Message édité par dropsy le 09-06-2004 à 15:40:15
n°758028
cymp
Posté le 09-06-2004 à 15:41:49  profilanswer
 

c moi l'hebergeur (c mes deux pc)
je vais voir comment faire pour définir des comptes distants...
 
Edit: bah le probleme c'est que j'ai juste installé le serveur sql, et on ma dit ke par défaut pour se conneceter il faut mettre "root" sans pass, la je cherche ou on peut creer d'autres comptes...


Message édité par cymp le 09-06-2004 à 15:42:57
n°758153
AllForEver
Posté le 09-06-2004 à 16:41:51  profilanswer
 

Il faut absolument que tu crée des comptes distants pour accéder à ta base Sql.  
 
Fait attention aussi si tu as un firewall, il faut que tu débloque le port que tu vas utiliser pour communiquer avec le serveur.

n°758192
cymp
Posté le 09-06-2004 à 16:56:07  profilanswer
 

bon j'ai trouvé comment créer des comptes distants, apparemment il faut mettre dans la base de données mysql, table user, en dessous de la ligne "localhost" "root" "" la ligne suivante : "%" "toto" "". De ce que j'ai vu sur google, % autorise une connexion depuis nimporte quel ordinateur distant. Mais ca marche toujours pas il me dit qu'il peut pas se connecter... :(

n°758641
cymp
Posté le 10-06-2004 à 00:27:56  profilanswer
 

qui peut m'aider a créer un compte distant svp? :( marche po...

n°758643
dropsy
et bonne chance surtout...
Posté le 10-06-2004 à 00:29:19  profilanswer
 

il n'y a pas une commande spécifique dans mysql pour créer des user?
 
edit: http://dev.mysql.com/doc/mysql/fr/Adding_users.html
cf commande grant ;)


Message édité par dropsy le 10-06-2004 à 00:31:05
n°759932
cymp
Posté le 11-06-2004 à 00:31:02  profilanswer
 

ok bon j'ai suivi les instructions a cette page, et j'ai fait ca:
mysql> GRANT ALL PRIVILEGES ON *.* TO monty@localhost
    ->     IDENTIFIED BY 'un_mot_de_passe' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO monty@"%"
    ->     IDENTIFIED BY 'un_mot_de_passe' WITH GRANT OPTION;
 
Ensuite, j'ai fait un flush privileges, mais pourtant je n'arrive toujours pas à acceder a la base de données distante :(
any idea? au secours :( :(
 
EDIT: bien sur g pas mis 'un_mot_de_passe' mais j'ai laissé le nom monty, et j'ai fait dans mon php: mysql_connect(xxx.xxx.xxx.xxx,"monty","lepass" )
 
EDIT2:Je n'ai pas de firewall
 
EDIT3:voila le message d'erreur:
Warning: mysql_connect(): Can't connect to MySQL server on '80.119.8.78' (10061) in c:\program files\easyphp1-7\www\projet\recherche2.php on line 9


Message édité par cymp le 11-06-2004 à 00:58:21
n°759969
cymp
Posté le 11-06-2004 à 02:54:16  profilanswer
 

up :(

mood
Publicité
Posté le 11-06-2004 à 02:54:16  profilanswer
 

n°759970
naceroth
Posté le 11-06-2004 à 03:27:09  profilanswer
 

Et depuis la console de ton PC tu peux te connecter au serveur distant ?

n°759974
cymp
Posté le 11-06-2004 à 04:04:39  profilanswer
 

comment on fait ?

n°760676
naceroth
Posté le 11-06-2004 à 17:21:30  profilanswer
 

Menu démarrer > executer > cmd
 
Puis tu te rends dans le répertoire bin du dossier d'installation de mysql (vu que tu utilises easyphp, on va supposer que tu as un client d'installé :D) et tu tapes

Code :
  1. mysql -h ip_du_serveur -u monty -p


puis ton mot de passe.
 
Fait le test depuis une machine distante et depuis la machine qui héberge le serveur, pour t'assurer que le couple user/pass est valide :)
 
PS : effacer l'ip dans le code du mysql_connect était pas mal, la laisser dans le message d'erreur était plus drôle :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  connexion a une base de donnée distante

 

Sujets relatifs
base de données particulierefonction pour connexion serveur + regex
remettre a jour une base....ASP et Base de données Access avec Front Page
Quelle base de données pour quel usage ?tri dans base mysql
Installer une base de donnée sql existante !Ouvrir un fichier de base de donnée dont on ne connais pas le format
[Asp / VB ] Connexion distante a une base de donnée 
Plus de sujets relatifs à : connexion a une base de donnée distante


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR