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

  FORUM HardWare.fr
  Linux et OS Alternatifs
  réseaux et sécurité

  [Résolu] Problème mysql (mdv 2006)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] Problème mysql (mdv 2006)

n°812164
naruto192
Posté le 23-05-2006 à 10:20:37  profilanswer
 

Bonjour à tous. Voila donc mon problème qui me prend sévèrement la tête.
 
J'ai un serveur A (mandriva 2006 192.168.0.1) avec apache, php-mysql
J'ai un serveur B (mandriva 2006 192.168.0.2) avec mysql, apache, php-mysql
 
 
Je veux faire un truc tout simple. Sur mon serveur A, je veux écrire un petit code php qui insère une ligne dans une base de donnée qui est sur le serveur B.
 
<?php
 
$db=mysql_connect('192.168.0.2', 'root', 'mdp');
mysql_select_db('mabase', $db);
 
$sql="insert into matable (champ1, champ2) values ('valeur1', 'valeur2');
mysql_query($sql);
 
?>
 
Lorsque j'exécute ce code (qui est monstrueusement simple) sur le serveur A, il me met comme erreur :
 
Warning: mysql_connect(): Lost connection to MySQL server during query in ...........
Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link ressource in............
Warning: mysql_query(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' in......
Warning: mysql_query(): A link to the server could not be established in .....
 
 
Lorsque j'exécute ce code sur le serveur B (le serveur où il y a la base), il me met comme erreur :
 
Warning: mysql_connect(): Lost connection to MySQL server during query in ...........
Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link ressource in............
 
 
 
 
Bien évidemment, si sur le serveur B (où il y a la base donc) je remplace dans mysql_connect l'adresse ip 192.168.0.2 par localhost, le code fonctionne.
L'utilisateur root à tous les droits depuis tous les serveurs.....
J'ai decommenté la ligne qui désactive interdit la connexion via tcp/ip.
 
Je sais plus trop quoi faire. Pourtant je suis sur qu'il doit y avoir une solution, mais cela fait trois jours que je cherche sans réponse. Je poste donc mon problème ici. J'espère avoir été clair dans mon sujet.
 
Merci d'avance pour ceux qui m'aideront.

Message cité 1 fois
Message édité par naruto192 le 24-05-2006 à 08:49:53
mood
Publicité
Posté le 23-05-2006 à 10:20:37  profilanswer
 

n°812231
goldyfruit
Je me lève et je confirme !
Posté le 23-05-2006 à 13:19:22  profilanswer
 

MySQL est bien lancé ?
 
Vérifie en tapant :

Code :
  1. mysql --version


---------------
http://wiki.incloudus.com/display/DOC | http://blog.incloudus.com | http://wiki.goldzoneweb.info | http://www.stendhalclub.fr
n°812233
naruto192
Posté le 23-05-2006 à 13:30:15  profilanswer
 

Oui oui bien entendu mysql est lancé.
 
Mais, par exemple, il est bien possible de séparer mysql et apache?
 
Je veux dire on peut avoir d'un coté une machine serveur apache et de l'autre une machine serveur mysql?

n°812243
impulse
Posté le 23-05-2006 à 13:50:33  profilanswer
 

naruto192 a écrit :

Oui oui bien entendu mysql est lancé.
 
Mais, par exemple, il est bien possible de séparer mysql et apache?
 
Je veux dire on peut avoir d'un coté une machine serveur apache et de l'autre une machine serveur mysql?


 
Oui, bien sur que c'est possible. Est ce que tu as testé en ligne de commande pour voir si le problème vient de PHP ou de MySQL?
Essaye de récupérer les erreur MySQL dans ton code PHP :
 

Code :
  1. <?php
  2. $db=mysql_connect('192.168.0.2', 'root', 'mdp');
  3. if (!$db) {
  4.    die('Not connected : ' . mysql_error());
  5. }
  6. $db_selected = mysql_select_db('mabase', $db);
  7. if (!$db_selected) {
  8.    die ('Can\'t use mabase : ' . mysql_error());
  9. }
  10. ?>

n°812244
impulse
Posté le 23-05-2006 à 13:55:06  profilanswer
 

naruto192 a écrit :


Warning: mysql_query(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' in......


 
J'avais pas fait attention... le message d'erreur est clair : impossible de se connecter au serveur MySQL local. Ton problème vient de là, tu dois avoir un soucis dans ta conf.

n°812247
naruto192
Posté le 23-05-2006 à 13:58:18  profilanswer
 

ok, en mettant ton code (exécuté sur le serveur A), cela me dit :  
 
not connected : lost connection to mysql server during query
 
Oui, j'imagine bien que cela va vient de ma conf de mysql en faite, mais que faire pour lui dire pour que mon code ci-dessus fonctionne depuis le serveur A?
 
Je pensais déclarer le serveur mysql non plus comme localhost mais comme 192.168.0.2 car il faut bien que dans le code situé sur le machine A, je précise que la base de donnée est à l'adresse 192.168.0.2.
Mais je ne sais pas où configurer cela.

Message cité 1 fois
Message édité par naruto192 le 23-05-2006 à 14:02:42
n°812250
goldyfruit
Je me lève et je confirme !
Posté le 23-05-2006 à 14:02:57  profilanswer
 

Ouaip c'est possible.
Dans ton my.cnf remplace :

Code :
  1. bind-address 127.0.0.1


Par :

Code :
  1. bind-address 0.0.0.0


Message édité par goldyfruit le 23-05-2006 à 15:07:37

---------------
http://wiki.incloudus.com/display/DOC | http://blog.incloudus.com | http://wiki.goldzoneweb.info | http://www.stendhalclub.fr
n°812254
impulse
Posté le 23-05-2006 à 14:05:21  profilanswer
 

naruto192 a écrit :

ok, en mettant ton code (exécuté sur le serveur A), cela me dit :  
 
not connected : lost connection to mysql server during query


 
Le problème c'est que tu essayes de te connecter au serveur local alors que ton serveur MySQL est sur une autre machine...
Sur quel port tourne le serveur? Tu as essayé de faire un telnet sur ce port?

n°812265
naruto192
Posté le 23-05-2006 à 14:24:19  profilanswer
 

bon, déjà j'avais pas la ligne bind-address dans mon my.cnf.
J'ai quand même mis bind-adress 0.0.0.0
Cela n'a rien changé.
 
Sinon ce matin, j'ai téléchargé mysql administrator (sur mon serveur B bien entendu) mais y a rien qui m'aide finalement.
Pour info, dans server information il y a :
 
Connected to MySQL Server Instance
   User : root
   Host : localhost
   Socket : /var/lib/mysql/mysql.sock
 
Server Information
   MySQL Version : MySQL 4.1.12
   Network Name : monordi
   IP : 127.0.0.1
 
Client Information
   Version : MySQL Client Version 4.1.12
   Network Name : monordi
   IP : 127.0.0.1
   Operating System : Linux 2.6.12-12mdk
   Hardware : .....
 
 
Sinon, dans mon code j'ai essayé de changé 192.168.0.2 par 127.0.0.1 sur mon serveur B (où il y a la bdd) et ben cela ne fonctionne pas (même erreur), il n'accepte que localhost.

n°812290
goldyfruit
Je me lève et je confirme !
Posté le 23-05-2006 à 15:10:34  profilanswer
 

Mon my.cnf si ca peut t'aider.

Code :
  1. [client]
  2. port            = 3306
  3. socket          = /var/run/mysqld/mysqld.sock
  4. # Here is entries for some specific programs
  5. # The following values assume you have at least 32M ram
  6. # This was formally known as [safe_mysqld]. Both versions are currently parsed.
  7. [mysqld_safe]
  8. socket          = /var/run/mysqld/mysqld.sock
  9. nice            = 0
  10. [mysqld]
  11. #
  12. # * Basic Settings
  13. #
  14. user            = mysql
  15. pid-file        = /var/run/mysqld/mysqld.pid
  16. socket          = /var/run/mysqld/mysqld.sock
  17. port            = 3306
  18. basedir         = /usr
  19. datadir         = /var/lib/mysql
  20. tmpdir          = /tmp
  21. language        = /usr/share/mysql/french
  22. skip-external-locking
  23. #
  24. # For compatibility to other Debian packages that still use
  25. # libmysqlclient10 and libmysqlclient12.
  26. old_passwords   = 1
  27. #
  28. # Instead of skip-networking the default is now to listen only on
  29. # localhost which is more compatible and is not less secure.
  30. bind-address            = 0.0.0.0
  31. #
  32. # * Fine Tuning
  33. #
  34. key_buffer              = 16M
  35. max_allowed_packet      = 16M
  36. thread_stack            = 128K
  37. #
  38. # * Query Cache Configuration
  39. #
  40. query_cache_limit       = 1048576
  41. query_cache_size        = 16777216
  42. query_cache_type        = 1



---------------
http://wiki.incloudus.com/display/DOC | http://blog.incloudus.com | http://wiki.goldzoneweb.info | http://www.stendhalclub.fr
mood
Publicité
Posté le 23-05-2006 à 15:10:34  profilanswer
 

n°812302
naruto192
Posté le 23-05-2006 à 15:34:26  profilanswer
 

Alors là j'hallucine grave, je viens de mettre ton fichier my.conf en changeant juste l'endroit du mysqld.sock qui était dans /var/lib/mysql (j'avais repéré ou était mes fichiers avant).
Et ben c'est magique, vraiment de la magie la. Le fichier mysqld.sock + le fichier mysqld.pid ont tout simplement disparu, introuvable après une recherche.
Je crois que je doit être maudit avec linux moi. (et j'ai vérifier 10 fois avant de sauvegarder mon fichier my.cnf voir si tout était bon).
 
Euuuu, je fais comment pour les récuperer? Obligé de réinstaller?

n°812303
goldyfruit
Je me lève et je confirme !
Posté le 23-05-2006 à 15:38:13  profilanswer
 
n°812312
naruto192
Posté le 23-05-2006 à 15:49:23  profilanswer
 

non non c'est bien /var/lib/mysql, bon heureusement, j'avais gardé l'ancien. Avec l'ancien cela remarche.
Je comprend pas pourquoi avec le tien cela ne fonctionne pas, j'ai tout bien vérifié, c'est les bons emplacement, rien à redire.
 
Bon, j'ai repris quelque truc de ton fichier qu'ils veulent bien marcher, et cela ne change rien (le serveur mysql tourne) au niveau du ptit programme (si j'ose dire) php.
Toujours les mêmes erreurs.


Message édité par naruto192 le 23-05-2006 à 16:00:10
n°812316
goldyfruit
Je me lève et je confirme !
Posté le 23-05-2006 à 15:52:19  profilanswer
 
n°812333
naruto192
Posté le 23-05-2006 à 16:19:57  profilanswer
 

Par rapport à mon problème principal, rien à signaler dans les logs, sinon pour ton fichier, il trouve pas le language french apparrement c'est tout.

n°812340
goldyfruit
Je me lève et je confirme !
Posté le 23-05-2006 à 16:37:53  profilanswer
 

Alors remplace :

Code :
  1. language        = /usr/share/mysql/french


Par :

Code :
  1. language        = /usr/share/mysql/english


---------------
http://wiki.incloudus.com/display/DOC | http://blog.incloudus.com | http://wiki.goldzoneweb.info | http://www.stendhalclub.fr
n°812346
naruto192
Posté le 23-05-2006 à 16:45:56  profilanswer
 

ok c'est bon, ton fichier marche nickel, mais du coup, lorsque j'exécute mon code depuis la machine b (ou il y a la base donc), ben j'ai comme erreur :  
 
 
Warning: mysql_connect(): Lost connection to MySQL server during query in ...........
Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link ressource in............
 
Warning: mysql_query(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' in......
Warning: mysql_query(): A link to the server could not be established in .....  
 
sachant qu'avant, il n'y avait pas les deux derniers warning.
 
(Au passage merci de toutes les aides que j'ai déja reçu)

n°812347
Dark_Schne​ider
Close the World, Open the Net
Posté le 23-05-2006 à 16:46:07  profilanswer
 

bon ...
 
1. donne le résultat de la commande suivantes sur les 2 serveurs ( c'est surtout serveur A qui m'intéresse ) :


cat /etc/hosts
ifconfig
iptables -L


 
2. as tu activé l'accès TCP/IP pour le serveur mysql ?
cf /etc/sysconfig/mysqld et/ou /etc/my.cnf sur le serveur
 
3. as tu ajouter correctement les privilèges d'accès avec GRANT pour l'utilisateur root depuis le poste 192.168.0.1 ?
http://dev.mysql.com/doc/refman/4. [...] ccess.html
http://dev.mysql.com/doc/refman/4. [...] users.html
 
4. as tu un firewall qui tourne sur serveur A et/ou serveur B ?


iptables -L


tu devras ouvrir dans ce cas le port 3306/tcp
http://desintegr.free.fr/autre/man [...] ewall.html


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
n°812350
goldyfruit
Je me lève et je confirme !
Posté le 23-05-2006 à 16:48:35  profilanswer
 

Citation :

L'utilisateur root à tous les droits depuis tous les serveurs.....


Même pour du local il doit ouvrir le port ?


Message édité par goldyfruit le 23-05-2006 à 16:49:35

---------------
http://wiki.incloudus.com/display/DOC | http://blog.incloudus.com | http://wiki.goldzoneweb.info | http://www.stendhalclub.fr
n°812356
Dark_Schne​ider
Close the World, Open the Net
Posté le 23-05-2006 à 16:58:55  profilanswer
 

tout dépend de l'IP qu'il utilise.
pour 127.0.0.1 ( loopback ), pas la peine.
pour 192.168.0.1 ( même si c'est l'IP de l'ordi local ), peut être. cela dépend de la conf du firewall.
 
de plus il n'est pas normal que lorsqu'il veut se connecter à un serveur mysql distant, il se retrouve avec une erreur concernant le socket ( /var/lib/mysql/mysql.sock ) qui ne doit concerner que les accès locaux à mysql et non un accès via le réseau ( avec une adresse IP ).
http://dev.mysql.com/doc/refman/4. [...] enied.html


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
n°812370
naruto192
Posté le 23-05-2006 à 17:22:32  profilanswer
 

bippppppppp (auto-censure) cela marche.
Euu comment dire, dans /etc/sysconfig/mysqld, je n'avais pas commenté l'interdiction d'accès tcp ip. Voila, je vais me pendre, je suis un boulet.
 
Maintenant, merci beaucoup, je vais pouvoir rentrer du boulot en étant soulagé.
Merci encore.

n°812379
Dark_Schne​ider
Close the World, Open the Net
Posté le 23-05-2006 à 17:43:40  profilanswer
 

mets [résolu] dans le titre stp.
et ajoute aussi en même [mdv 2006] pour quelqu'un qui aurait le même problème et ferait une recherche.


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
n°812675
impulse
Posté le 24-05-2006 à 11:40:55  profilanswer
 

naruto192 a écrit :

bippppppppp (auto-censure) cela marche.
Euu comment dire, dans /etc/sysconfig/mysqld, je n'avais pas commenté l'interdiction d'accès tcp ip. Voila, je vais me pendre, je suis un boulet.
 
Maintenant, merci beaucoup, je vais pouvoir rentrer du boulot en étant soulagé.
Merci encore.


 
C'est pour ça que je t'avais demandé de faire un telnet 3306 par exemple. :)

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  réseaux et sécurité

  [Résolu] Problème mysql (mdv 2006)

 

Sujets relatifs
[gentoo] probleme de mirroir indispoProblème de débit serveur FTP
[resolu] gentoo wifi zd1211 wpa supplicant : ne fonctionne pasdrapper/rescue impossible de monter hda1 XP [+- resolu]
Probleme avec Cron : Stopper l'envoi de mails[résolu] toujours mon squid qui ne démare pas.
[resolu]monter un disque sata sur une 939 dual sata2Problème Insoluble freebsd samba Windows !!!
probleme avec internet explorerProbleme de dépendance avec Mandriva 2006
Plus de sujets relatifs à : [Résolu] Problème mysql (mdv 2006)


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