Mysql socket

Olivier -  
 reeko -
Bonjour,

j'ai installé php,mysql et apache2. Tous fonctionne sauf lors des script php faisant appel au mysql j'ai une erreure lors de la connection qui me dit:
Warning: mysql_connect(): Can't connect to local MySQL server through socket '/usr/local/mysql/tmp/' (13)


Pourtant mon socket mysql se trouve bien à cette endroit. Quelqu'un peut-il m'aider?

merci d'avance
A voir également:

10 réponses

[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
Olivier,

Profites-en aussi pour nous dire quelle est ta distribution Linux... et puis donnes nous le résultat de

ps axl | grep mysql

et

mysql -p

Dans une console sous root, histoire de vérifier que ton démon mysql est bien lancé.


Dal
4
Utilisateur anonyme
 
il y a pas mal de sujets sur ce problème sur google, dis-nous les solutions que tu as déjà essayées afin qu'on ne répète pas ce que tu as déjà écrémé
0
Olivier
 
J'utilise linux mandrake 10.2 edition limited en dvd, sinon je n'ai pas encore essayer tes commandes mais je suis sur que mysql est lancé car j'arrive à voir les tables mysql par la console mais je vais essayer les commandes.
0
Olivier
 
[root@localhost ~]# ps axl | grep mysql
4     0 17052     1  24   0   2576  1352 wait   S    pts/1      0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/localhost.pid
4   501 17078 17052  18   0 360984 15052 select Sl   pts/1      0:00 /usr/local/mysql//libexec/mysqld --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --user=mysql --pid-file=/usr/local/mysql/data/localhost.pid --skip-locking --port=3306 --socket=/usr/local/mysql/tmp/mysql.sock
0     0 17088 17015  19   0   1936   732 -      R+   pts/1      0:00 grep mysql


[root@localhost ~]# /usr/local/mysql/bin/mysql -u CrooOl -p mysql
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.0.25-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>


voila le résultat des commandes
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention   426
 
Salut,

A tout hasard, je sais que j'ai eu ce probléme, mais je ne sais plus comment ça c'est résolu, tu peux toujours tenter dans /etc/php.ini de mettre à la ligne:
mysql.default_socket
mysql.default_socket =mysql.sock

Il se peut que php cherche un fichier mysql.socket par defaut.

0
Olivier
 
oui c'est bien sa le prob php prend mysql.socket par défault mais même avec mysql.sock dans php.ini sa ne change rien j'ai tjs dans mysql de phpinfo() la ligne
MYSQL_SOCKET 	/usr/local/mysql/tmp/mysql.socket

et c'est
MYSQL_SOCKET 	/usr/local/mysql/tmp/mysql.sock
qu'il faudrait. Comment faire alors que lors de la compilation j'ai déja mis
--with-mysql-sock=/usr/local/mysql/tmp/mysql.sock
0
Utilisateur anonyme
 
ton firewall bloquerait pas le 3306 des fois?
0
Olivier
 
j'ai pas de firewall sur le réseau local donc je ne pense pas que ce serait sa et sur le routeur le port est ouvert pour le serveur actuel
0
Olivier
 
J'avance mais je ne suis pas encore au finale j'ai réussi à avoir les même socket dans php et mysql en changant dans my.cnf mais sa ne va tjs pas lors des connection mysql par php :-( .
0
[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
Salut Olivier,

Donc il semble bien que ton serveur MySQL soit lancé.

Dans son paramétrage mysql permet de restreindre l'accès aux bases de données (y compris à la connexion) à certains utilisateurs seulement ou à certains hôtes seulement. As-tu spécifié des restrictions particulières ? Ton Apache est-il sur le même hôte que le serveur MySQL ?

Voir http://www.databasejournal.com/features/mysql/article.php/3311731

et les permissions définies dans les tables "user", "db", et "host".


Dal

PS : sur une autre piste... a tout hasard.. peux tu nous poster le résultat de
ls -l /usr/local/mysql/tmp/mysql.sock*
0
Blaise BAKEYALA
 
Bonjour,

Pour ce problème, il suffit de trouver le chemin sur lequel se trouve le fichier mysql.sock
Fichier trouveé dans "/usr/local/mysql/". Ensuite, vous créez un lien sur le répertoire "/tmp" avec la commande suivante:
$ ln -s /usr/local/mysql/mysql.sock /tmp
Et ça marche, vous avez plus à lancer la commande "mysql -uroot -p<password> --socket=/usr/local/mysql/mysql.sock";
vous lancerez directement la commande "mysql -uroot -p<password>"

Cordialement
0
reeko
 
hum il ya un probleme MySQL a répondu:?

#1045 - Access denied for user 'root'@'localhost' (using password: NO)
pourtant , cand je vais dans la console il est indiquer que le mot de pass est le bon que faire :s?
0