Mysql socket

Olivier - 21 juil. 2005 à 23:44
 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 mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 18 juin 2025 1 105
22 juil. 2005 à 10:20
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
22 juil. 2005 à 02:08
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
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
[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 lundi 28 janvier 2002 Statut Webmaster Dernière intervention 23 novembre 2024 426
22 juil. 2005 à 14:50
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
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
22 juil. 2005 à 15:00
ton firewall bloquerait pas le 3306 des fois?
0
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
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 mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 18 juin 2025 1 105
22 juil. 2005 à 17:53
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
7 août 2008 à 12:49
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
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