connexion a une base de donnée distante - PHP - Programmation
Marsh Posté le 09-06-2004 à 15:34:32
ca vient de "root" et "" qui ne sont valables que sur une connexion locale?
Marsh Posté le 09-06-2004 à 15:39:35
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
Marsh Posté le 09-06-2004 à 15:41:49
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...
Marsh Posté le 09-06-2004 à 16:41:51
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.
Marsh Posté le 09-06-2004 à 16:56:07
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...
Marsh Posté le 10-06-2004 à 00:27:56
qui peut m'aider a créer un compte distant svp? marche po...
Marsh Posté le 10-06-2004 à 00:29:19
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
Marsh Posté le 11-06-2004 à 00:31:02
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
Marsh Posté le 11-06-2004 à 03:27:09
Et depuis la console de ton PC tu peux te connecter au serveur distant ?
Marsh Posté le 11-06-2004 à 17:21:30
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é ) et tu tapes
Code :
|
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
Marsh Posté le 09-06-2004 à 15:22:30
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