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

10 réponses

  1. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
     
    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
  2. 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
  3. 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
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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
    1. 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
  7. Utilisateur anonyme
     
    ton firewall bloquerait pas le 3306 des fois?
    0
    1. 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
  8. 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
  9. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
     
    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
  10. 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
  11. 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