IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

impossible de se connecter : Can't connect to local MySQL server through sock [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 73
    Par défaut impossible de se connecter : Can't connect to local MySQL server through sock
    Can't connect to local MySQL server through socket '/var/run/mysql/mysql.sock' (2)

    -OpenBSD 4.0
    -mysql-server-5.0.24a
    -php5-core-5.1.4p1
    -Apache-1.3.29

    Code /etc/my.cnf : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    [client]
    #password       = xxxxxxxxx
    port            = 3306
    socket          = /var/run/mysql/mysql.sock
     
    # Here follows entries for some specific programs
     
    # The MySQL server
    [mysqld]
    user            = _mysql
    port            = 3306
    socket          = /var/run/mysql/mysql.sock
    skip-locking
    key_buffer = 16M
    max_allowed_packet = 1M
    table_cache = 64
    sort_buffer_size = 512K
    net_buffer_length = 8K
    read_buffer_size = 256K
    read_rnd_buffer_size = 512K
    myisam_sort_buffer_size = 8M

    Code /var/www/conf/php.ini : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    [MySQL]
    ; Allow or prevent persistent links.
    mysql.allow_persistent = On
     
    ; Maximum number of persistent links.  -1 means no limit.
    mysql.max_persistent = -1
     
    ; Maximum number of links (persistent + non-persistent).  -1 means no limit.
    mysql.max_links = -1
     
    ; Default port number for mysql_connect().  If unset, mysql_connect() will use
    ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
    ; compile-time value defined MYSQL_PORT (in that order).  Win32 will only look
    ; at MYSQL_PORT.
    mysql.default_port =
     
    ; Default socket name for local MySQL connects.  If empty, uses the built-in
    ; MySQL defaults.
    mysql.default_socket = /var/run/mysql/mysql.sock
     
    ; Default host for mysql_connect() (doesn't apply in safe mode).
    mysql.default_host =
     
    ; Default user for mysql_connect() (doesn't apply in safe mode).
    mysql.default_user =
     
    ; Default password for mysql_connect() (doesn't apply in safe mode).
    ; Note that this is generally a *bad* idea to store passwords in this file.
    ; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
    ; and reveal this password!  And of course, any users with read access to this
    ; file will be able to reveal the password as well.
    mysql.default_password =
     
    ; Maximum time (in secondes) for connect timeout. -1 means no limit
    mysql.connect_timeout = 60
     
    ; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
    ; SQL-Errors will be displayed.
    mysql.trace_mode = Off

    Voilà pour le code.

    J'arrive à me connecter en ligne de commande à la base de donnée et le serveur apache interprète correctement le code PHP. Je n'arrive pas à comprendre ce qui pourrait être à l'origine de l'echec de connexion au socket qui est bien créé quand je lance mysqld_safe (idem pour mysqld)

    J'espère que vous pourrez m'aider à trouver une solution car là je viens d'y passer une paire d'heure. Je répond à toutes questions qui permettrait d'éclaircir mon problème.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 73
    Par défaut [Résolu]Can't connect to local MySQL server through socket '/var/run/mysql/mysql.sock
    Bon je trouve que la solution ne vallait pas le temps que j'ai passé pour la trouver ...

    Apres un "ps -aux | grep httpd", j'ai eu la révélation quand j'ai remarqué que le process était chrooté sur /var/www/

    Du coup, il ne pouvait avoir accès à /var/run/mysql/mysql.sock ...

    Et dans la foulée je citerai Antoine dont vous pouvez retrouver son post : http://www.openbsd-france.org/ml/archives/msg00944.html

    Davy MOREL wrote:
    > Iop tous,
    >
    >
    > Ce mail est la suite de mon précédent problème avec apache, php et
    mysql.
    > J'ai pu configurer php avec apache sans problème et ça fonctionne. Mon
    > seul soucis aujourd'hui est de pouvoir faire fonctionner phpmyadmin.
    > J'arrive bien à la page d'acceuil mais j'ai :
    > 2002 - Can't connect to local Mysql server through socket
    > '/var/run/mysql/mysql.sock' (2)

    Normal, apache est chrooté, il peut pas atteindre
    /var/run/mysql/mysql.sock.

    2 solutions :
    - soit tu fais un lien de /var/run/mysql/mysql.sock vers
    /var/www/var/run/mysql/mysql.sock
    - soit (solution que je préfère), tu édites ton my.cnf pour qu'il crée
    le mysql.sock directement dans le chroot apache (genre
    /var/www/mysql/mysql.sock), et tu indiques dans ton php.ini et dans ton
    config.inc le path vers mysql.sock, qui vu que la racine pour apache
    c'est /var/www, sera : /mysql/mysql.sock

    ++

    Antoine
    J'ai choisi la première mais je suppose que l'autre fonctionne aussi bien.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Can't connect to local MySQL server through socket
    Par pontus21 dans le forum Installation
    Réponses: 3
    Dernier message: 18/04/2012, 11h46
  2. [MySQL] Can't connect to local MySQL server through socket
    Par JackBeauregard dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 19/12/2007, 00h02
  3. Réponses: 3
    Dernier message: 18/06/2007, 16h24
  4. Can't connect to local MySQL server through socket
    Par PamelaGeek dans le forum Réseau
    Réponses: 1
    Dernier message: 15/05/2006, 17h16
  5. PB : Can't connect to local MySQL server through socket
    Par nownow dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 30/05/2005, 09h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo