Probleme de connexion mysql avec php [Résolu] - réseaux et sécurité - Linux et OS Alternatifs
Marsh Posté le 08-04-2008 à 15:50:03
grep bind /etc/mysql/my.cnf
grep network /etc/mysql/my.cnf
Marsh Posté le 08-04-2008 à 15:56:57
ReplyMarsh Posté le 08-04-2008 à 16:00:18
koopalondon a écrit : Hello, |
tu as bien installé l'extension mysql ou mysqli pour php ?
Marsh Posté le 08-04-2008 à 16:08:51
koopalondon a écrit : Ya rien. |
pas de firewalling/iptables ?
mysql binde bien sur l'interface ? en ipv4 ?
Marsh Posté le 08-04-2008 à 16:18:09
pour firewall and iptables je suis sur.
pour bind je peux savoir comment ?
mais ca doit etre bon vu que je peux me connecté par la commande mysql, non ?
Marsh Posté le 08-04-2008 à 16:29:07
man netstat
Marsh Posté le 08-04-2008 à 17:00:08
ok merci.
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2525/mysqld
ca me semble bon
Marsh Posté le 08-04-2008 à 17:01:10
oui. tu entends quoi exactement par "par httpd" ?
Marsh Posté le 08-04-2008 à 17:15:49
Ce n'est surement pas en surfant comme ca que tu vas établir une connexion avec ton serveur mysql. Plus précisément nous dire que httpd te renvoie une erreur, juste comme ca, ca ne fait pas avancer l'affaire.
tu utilises quoi pour tenter de t'ty connecter, un script php ? si oui lequel ? La conf de ton script est elle correcte, le script c'est toi qui l'a développé ?
Bref pour t'aider on a besoin un minimun d'info sur comment tu tentes d'accéder à mysqld !
Marsh Posté le 08-04-2008 à 17:20:17
je y accéde comme ca : mysql_connect("192.168.0.15","***","****" )
Je suis sur des codes et script car ils sont utilisé sur un autre serveur qui marche trés bien avec.
Marsh Posté le 08-04-2008 à 17:24:21
Est ce que depuis ce serveur (celui qui ne fonctionne pas) tu arrives à ouvrir une session TCP sur le port de mysqld de l'autre serveur ?
De mémoire ca doit etre le 3306
- telnet 192.168.0.16 3306
- nmap -p0 -p 3306 192.168.0.16
Marsh Posté le 08-04-2008 à 17:26:03
c est quoi exactement le message d erreur ?
un telnet depuis ton serveur web avec le serveur mysql sur le 3306 ca donne quoi ?
edit : merde grillé
Marsh Posté le 08-04-2008 à 17:34:14
Le telnet donne ca :
telnet 192.168.0.16 3306
Trying 192.168.0.16...
Connected to 192.168.0.16 (192.168.0.16).
Escape character is '^]'.
4
5.0.22N+iR={rNk,S;k-;!1rkETUConnection closed by foreign host.
Alors que le nmap semble bien repondre :
nmap -p 3306 192.168.0.16
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2008-04-09 14:40 BST
Interesting ports on 192.168.0.16:
PORT STATE SERVICE
3306/tcp open mysql
MAC Address: 00:16:35:5A:C9:69 (Hewlett Packard)
j'ai exactement les même reponse sur le serveur qui marche bien aussi
Marsh Posté le 08-04-2008 à 17:55:11
koopalondon a écrit : je y accéde comme ca : mysql_connect("192.168.0.15","***","****" ) |
koopalondon a écrit : Le telnet donne ca : |
donc pas de problème de firewall entre les deux, le telnet et le nmap sont ok.
Sinon c'est normal qu'au dessus tu indiquais 192.168.0.16 et que dans ton code c'est 192.168.0.15 ?
Marsh Posté le 08-04-2008 à 18:03:53
yes, enfait ya deux sql mais ca fait parreil pour les deux
Marsh Posté le 08-04-2008 à 18:05:08
tu as regardé les logs de ton serveur mysql ?
Marsh Posté le 08-04-2008 à 19:32:40
j'ai pas d'erreur dans mes logs, le server mysql voit pas la connexion quand ca vient du navigateur web. si je me connect directe du serveur en shh, la il voit bien la connexion...
Marsh Posté le 08-04-2008 à 19:36:21
la "connexion" ne vient pas du navigateur web hein.
La connexion se fait du serveur web au serveur mysql. Lorsque tu consultes ta page de test, ton serveur apache fait appelle à ses librairie php qui elles réalisent la connexion à la base de données.
Si depuis ton serveur web tu arrives ) ouvrir une session TCP avec telnet sur le port 3306 de ton serveur mysql, apache/ses librairies se situant sur le meme serveur web devrait pouvoir faire de meme... et dans les logs de ton serveur web tu as quelque chose ?
Marsh Posté le 08-04-2008 à 19:48:41
j'ai trouvé ca dans les logs:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/msql.so' - /usr/lib/php/modules/msql.so: cannot open shared object file: No such file or directory in Unknown on line 0
Mais le fichier est bien la :
-rwxr-xr-x 1 root root 49028 Sep 20 2007 /usr/lib/php/modules/mysql.so
surement un probleme de droit, c'est bizarre.
Marsh Posté le 08-04-2008 à 19:53:07
vérifie dans ton php.ini que tu charges bien la librairie.
Marsh Posté le 08-04-2008 à 19:55:52
koopalondon a écrit : j'ai trouvé ca dans les logs: |
si tu as recopié parfaitement le message, il y a un problème, il parle msql.so et pas de mysql.so/
Marsh Posté le 08-04-2008 à 19:57:41
Mjules a écrit : |
tu vois où mysql.so/ ?
Marsh Posté le 08-04-2008 à 20:01:17
le message est copié collé.
j'ai décommenté extension=msql.so mais ca change rien
Marsh Posté le 08-04-2008 à 20:02:23
et si tu redémarrais apache après avoir décommenté, histoire qu'il prenne en compte les modifications de la conf
Marsh Posté le 08-04-2008 à 20:05:31
O'Gure a écrit : |
ya un / en trop dans ma phrase mais ça change rien au fait que le message par d'un fichier msql.so
Marsh Posté le 08-04-2008 à 20:06:29
koopalondon a écrit : le message est copié collé. |
Mjules a écrit :
|
logique
Marsh Posté le 08-04-2008 à 20:13:22
arff j'avais décommenté (ce matin) par erreur extension=msql.so au lieu de extension=mysql.so.
ya plus d'erreur maintenant, mais ca marche toujours pas
Marsh Posté le 08-04-2008 à 20:16:38
koopalondon a écrit : ya plus d'erreur maintenant, mais ca marche toujours pas |
Peux tu etre plus explicite ?
Marsh Posté le 08-04-2008 à 20:18:27
j'ai plus d'erreur dans les logs httpd mais ya toujours le même probleme, le server ne se connecte pas au mysql si on passe par un navigateur
Marsh Posté le 08-04-2008 à 20:20:30
et maintenant, vois tu des logs en relation avec tes tentatives sur le serveur mysql ?
Marsh Posté le 08-04-2008 à 20:36:13
tu peux rendre dispo une page appelant phpinfo() ?
Marsh Posté le 08-04-2008 à 20:40:12
le user que tu utilises a bien les droit pour se connecter depuis l'adresse du serveur web ?
Marsh Posté le 08-04-2008 à 20:41:35
Le_Tolier a écrit : le user que tu utilises a bien les droit pour se connecter depuis l'adresse du serveur web ? |
il se prendrait un message dans les logs de mysql sinon, non ?
Marsh Posté le 08-04-2008 à 20:45:32
O'Gure a écrit : |
je sais pas trop ... mais je sais pas ce que c'est son message d'erreur, apres il pourrait tester avec le client mysql la connexion à la base depuis le serveur web aussi.
Marsh Posté le 08-04-2008 à 20:47:16
voila pour le phpinfo : http://78.110.169.24/test1.php
Pour les droits du user, je suis pas sur, je vais regarder ca de plus pres.
merci a tous de m'aider en tout cas
Marsh Posté le 08-04-2008 à 20:48:06
le ./configure --without-mysql
Marsh Posté le 08-04-2008 à 15:48:20
Hello,
J'ai un probleme de connexion a mon server mysql, je peux me connecter sur le server par un mysql -h 192.168.0.15 --user **** --password=**** databasename
Mais par httpd j'ai une erreur a chaque fois Can't connect to MySQL server on '192.168.0.15'. je suis biensur de mes mot de passe et companie.
Les deux serveurs sont sous centOS, ca doit venir de la config du serveur mais je trouve pas d'ou.
Quelqu'un voit d'ou ca pourrait venir ?
Merci d'avance,
Nico
Message édité par koopalondon le 10-04-2008 à 15:54:27