Can't connect to local MySQL server through socket

  • Auteur de la discussion Auteur de la discussion Yanig
  • Date de début Date de début
WRInaute discret
Bonjour,

je suis sous gentoo-ovh_64, et j'ai un message d'erreur qui apparait sur mon site:

Warning: mysql_connect() [function.mysql-connect]:Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /home/monsite/www/html/opendbasededonnee.php on line 3
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Si besoin je peux transmettre les dernières lignes de commandes effectuées.

Merci de votre aide.
 
WRInaute occasionnel
Si tu utilises également un serveur SQL en local avec des paramètres de login différents, et que tu aurais accidentellement uploadé ces paramètres sur le serveur ovh ...?
 
WRInaute discret
Si tu utilises également un serveur SQL en local avec des paramètres de login différents, et que tu aurais accidentellement uploadé ces paramètres sur le serveur ovh ...?

et bé non je ne crois pas,

il aurrait fallut que ce soit un fichier .sql par exemple ?
 
WRInaute passionné
Comme dit plus haut : "le message me parait clair", ce n'est pas une erreur d'identification. Le socket n'est pas accessible, donc vérifie qu'il existe et que MySQL tourne...
 
WRInaute discret
en fait quand je fais un :

Code:
/etc/init.d/mysql start

il me dit :

Code:
 * Starting named ...                                                                           [ !! ]
 *  ...
 * Starting mysql (/etc/mysql/my.cnf)
 * MySQL NOT started (1)                                                                        [ !! ]
 
WRInaute passionné
Et bien regarde dans les logs ce qui coince avec ta configuration.

Sous Gentoo je ne sais pas où MySQL trace ces erreurs par contre... A tout hasard :
Code:
tail /var/log/mysql.log
tail /var/log/mysql/mysql.log
tail /var/log/messages
 
WRInaute discret
je fais :
tail /home/log/mysql/mysql.log
rien ne se passe

puis
tail /home/log/messages

et voila ce qu'il me dit

Code:
Apr 11 13:23:01 ns29157 cron[12023]: (root) CMD (/usr/local/rtm/bin/rtm >/dev/null 2>/dev/null)
Apr 11 13:24:01 ns29157 cron[15194]: (root) CMD (/usr/local/rtm/bin/rtm >/dev/null 2>/dev/null)
Apr 11 13:25:01 ns29157 cron[18426]: (root) CMD (/usr/local/rtm/bin/rtm >/dev/null 2>/dev/null)
Apr 11 13:26:01 ns29157 cron[21600]: (root) CMD (/usr/local/rtm/bin/rtm >/dev/null 2>/dev/null)
Apr 11 13:27:01 ns29157 cron[24811]: (root) CMD (/usr/local/rtm/bin/rtm >/dev/null 2>/dev/null)
Apr 11 13:28:01 ns29157 cron[27983]: (root) CMD (/usr/local/rtm/bin/rtm >/dev/null 2>/dev/null)
Apr 11 13:29:01 ns29157 cron[31207]: (root) CMD (/usr/local/rtm/bin/rtm >/dev/null 2>/dev/null)
Apr 11 13:30:02 ns29157 cron[2170]: (root) CMD (/usr/local/rtm/bin/rtm >/dev/null 2>/dev/null)
Apr 11 13:30:02 ns29157 cron[2172]: (root) CMD (test -x /usr/sbin/run-crons && /usr/sbin/run-crons )
Apr 11 13:31:01 ns29157 cron[5405]: (root) CMD (/usr/local/rtm/bin/rtm >/dev/null 2>/dev/null)
 
WRInaute passionné
Oui enfin ce n'était que des indications : à toi de trouver le fichier de log utilisé par MySQL sur ta machine. Et "tail" ne renvoyant par défaut que les 10 dernières lignes, c'est à lancer tout de suite après avoir fait ton "mysql start".

Au pire pour t'aider à trouver le fichier :
Code:
find /var/log -type f -name '*mysql*'
 
WRInaute discret
comprend pas je fais :

locate /var/log *mysql*

il me donne un paquet de lignes du genre :

Code:
/home/mysql/ns29157-bin.117015

et fini par

/home/mysql/ns

je retente un
Code:
/etc/init.d/mysql start

puis 

tail /home/log/messages

et voila ce qu'il me donne
Code:
Apr 11 13:46:10 ns29157 named[21562]: no IPv6 interfaces found
Apr 11 13:46:10 ns29157 named[21562]: listening on IPv4 interface lo, 127.0.0.1#53
Apr 11 13:46:10 ns29157 named[21562]: listening on IPv4 interface eth0, 91.121.100.186#53
Apr 11 13:46:10 ns29157 named[21562]: command channel listening on 127.0.0.1#953
Apr 11 13:46:16 ns29157 named[22052]: starting BIND 9.3.2 -u named -n 1
Apr 11 13:46:16 ns29157 named[22052]: loading configuration from '/etc/bind/named.conf'
Apr 11 13:46:16 ns29157 named[22052]: no IPv6 interfaces found
Apr 11 13:46:16 ns29157 named[22052]: listening on IPv4 interface lo, 127.0.0.1#53
Apr 11 13:46:16 ns29157 named[22052]: listening on IPv4 interface eth0, 91.121.100.186#53
Apr 11 13:46:16 ns29157 named[22052]: command channel listening on 127.0.0.1#953
 
WRInaute passionné
Tant que tu ne regarderas pas dans le fichier de log MySQL, tu n'y arriveras pas... les trace de "bind" et "cron", on s'en fout un peu pour le coup.

Si vraiment c'est dans /var/log/messages :
Code:
grep -i mysql /var/log/messages
 
WRInaute discret
ben avec la commande :
find /var/log -type f -name '*mysql*'
rien ne se passe

avec
Code:
 grep -i mysql /home/log/messages

Code:
Apr 10 18:56:07 ns29157 rc-scripts: Strange, the socket file already exist in "/var/run/mysqld/mysqld.sock"
Apr 10 18:56:07 ns29157 rc-scripts: it will be removed now and re-created by the MySQL server
Apr 10 19:09:10 ns29157 rc-scripts: Strange, the socket file already exist in "/var/run/mysqld/mysqld.sock"
Apr 10 19:09:10 ns29157 rc-scripts: it will be removed now and re-created by the MySQL server
Apr 10 19:12:40 ns29157 rc-scripts: Strange, the socket file already exist in "/var/run/mysqld/mysqld.sock"
Apr 10 19:12:40 ns29157 rc-scripts: it will be removed now and re-created by the MySQL server
Apr 10 22:41:00 ns29157 rc-scripts: WARNING:  "mysql" has already been started.
Apr 10 22:41:09 ns29157 rc-scripts: Strange, the socket file already exist in "/var/run/mysqld/mysqld.sock"
Apr 10 22:41:09 ns29157 rc-scripts: it will be removed now and re-created by the MySQL server
Apr 10 23:00:00 ns29157 rc-scripts: Strange, the socket file already exist in "/var/run/mysqld/mysqld.sock"
Apr 10 23:00:00 ns29157 rc-scripts: it will be removed now and re-created by the MySQL server
 
WRInaute discret
j'aimerais bien mais non

Code:
/etc/init.d/mysql start

Code:
 * Starting named ...                                                                           [ !! ]
 *  ...
 * Starting mysql (/etc/mysql/my.cnf)
 * MySQL NOT started (1)                                                                        [ !! ]
 
WRInaute passionné
Non mais s'il tourne déjà ça ne marchera jamais...

Pour voir parmi les processus qui tournent :
Code:
ps auxw | grep mysql

Et pour le relancer :
Code:
/etc/init.d/mysql restart
 
WRInaute discret
ps auxw | grep mysql
Code:
root      3484  0.3  0.1   8120  1560 ?        S    10:02   0:51 /bin/sh /usr/bin/mysqld_safe
root     15580  0.0  0.3  24556  3272 ?        R    14:25   0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock
root     15582  0.0  0.0   5004   776 pts/1    R+   14:25   0:00 grep mysql

/etc/init.d/mysql restart
Code:
 * Starting named ...                                                                           [ !! ]
 *  ...
 * Starting mysql (/etc/mysql/my.cnf)
 * MySQL NOT started (1)                                                                        [ !! ]
 
WRInaute passionné
Si ton mysql est planté, tente éventuellement :
Code:
killall --wait mysqld ; /etc/init.d/mysql start ; tail -n 30 /var/log/messages

Si ça ne marche toujours pas, il va falloir que tu cherches par toi même ou bien demande à ton hébergeur (il est là pour ça après tout).
Et pour info, tu lui as fait quoi à ton MySQL pour le bousiller ainsi ?
 
WRInaute discret
ben le pire c'est que je ne pensais vraiment pas que ça squizerait le mysql (enfin oui sinon je l'aurais pas fais),
j'ajoutais des bibliothèques de formats vidéos
 
WRInaute impliqué
Dans les versions récentes, par défaut mysql n'écoute que sur l'interface lo (127.0.0.1).
Vérifie que tu utilise bien 'localhost' comme nom de machine et non pas le nom FQDN de celle-ci (genre mamachine.monherbergeur.com).
 
WRInaute discret
ouai ben en fait c'était un truc assez bête,
c'était simplement le disque système en quelques sortes qui était saturé,
très pratique les commande

Code:
df -h
et
Code:
ls -lh --sort=size|head
un peu de ménage dans les fichiers temporaires entres autres,
puis
Code:
mysql restart
httpd restart
et c'est reparti
merci pour votre aide et merci le support ovh
ptite frayeur quand même
 
WRInaute discret
Bonjour, j'essaie d'installer Phpbb3 et je rencontre le même message d'erreur qui bloque la poursuite de l'installation. J'ai mis Localhost en database server hostname. En fait, il fallait remplacer Localhost par le nom du Server. :P
 
Nouveau WRInaute
Bonsoir,

Souvent, l'erreur Can't connect to local MySQL server through socket '/tmp/mysqld.sock' (2) s'affiche quand on essaye de se connecter au site alors que cette opération a déjà été faite précédemment.

A vérifier !
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut