[resolu mais need infos] mysql ne fonctionne pas


#1

salut,
donc suite à un apt-get upgrade, mysql et phpmyadmin
ne fonctionnent plus.

Je me rends a cette adresse:
localhost/phpmyadmin/

jusque la tout va bien, mais quand je me logue, j’ai l’erreur
suivante:

#2002 - Le serveur ne répond pas. (ou l'interface de connexion ("socket") vers le serveur MySQL local n'est pas correctement configurée)

Et quand je tente d’utiliser une page qui utilise mysql, une page
de login, par exemple, j’ai cette erreur:

Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /home/ouabi/public_html/demos-stats/index.php on line 22 Erreur lors de la connexion à MySQL

Donc j’ai peut-être une piste, pendant l’upgrade, on me demande
si je veux garder des fichiers de configs ou en mettre de nouveaux.
J’ai conservé les anciens pour tous les fichiers, et je crois que
mysql et php en faisaient partie.

Voila, si vous avez une idée, merci d’avance.


#2

bon ben, j’ai partiellement reglé mon probleme, en effet,
j’avais pas vu ces lignes au demarrage et dans le syslog:

Mar 18 14:52:06 localhost /etc/init.d/mysql[2543]: error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)' Mar 18 14:52:06 localhost /etc/init.d/mysql[2543]: Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!

Donc bon, evidemment, ce fichier n’existe pas.

Tain j’ai passé 1h à rechercher sur internet, en recherchant
via le message d’erreur, et j’ai pas pensé a etudier les log.

Mais alors je ne sais pas comment l’y mettre ce fameux mysqld.sock.

Dans le fichier /etc/mysql/my.cnf et debian.cnf, j’ai bien cette ligne:
socket = /var/run/mysqld/mysqld.sock

Donc je comprends pas, à noter que le /var/log/mysql.log est vide.


#3

slt,

[quote]
socket = /var/run/mysqld/mysqld.sock [/quote]

Ce fichier ce créer automatiquement au demarrage du serveur sql, (en bref) c’est la socket qu’utilise mysql pour communiquer, la a mon avis si tu ne l’as pas c’est que ton serveur mysql n’est pas demarré.

Que donne un “netstat -platenv” ? vois tu le serveur mysql demarré ? je pense pas…


#4

ben effectivement, il n’est pas lancé le mysql, mais quand je tente
de le lancer, il me réaffiche ce message:

~% /etc/init.d/mysql start Starting MySQL database server: mysqld...failed. Please take a look at the syslog. /usr/bin/mysqladmin: connect to server at 'localhost' failed error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)' Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!

et dans le syslog, j’ai ca:

Mar 18 15:58:40 localhost mysqld_safe[4252]: started Mar 18 15:58:40 localhost mysqld[4256]: 060318 15:58:40 /usr/sbin/mysqld: unknown variable 'old_passwords=1' Mar 18 15:58:40 localhost mysqld[4256]: Mar 18 15:58:40 localhost mysqld_safe[4258]: ended Mar 18 15:58:46 localhost /etc/init.d/mysql[4321]: 0 processes alive and '/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf ping' resulted in Mar 18 15:58:46 localhost /etc/init.d/mysql[4321]: ^G/usr/bin/mysqladmin: connect to server at 'localhost' failed Mar 18 15:58:46 localhost /etc/init.d/mysql[4321]: error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)' Mar 18 15:58:46 localhost /etc/init.d/mysql[4321]: Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists! Mar 18 15:58:46 localhost /etc/init.d/mysql[4321]:

Donc j’ai commenté la ligne “old_passwords=1” dans
/usr/sbin/mysqld

Et ca marche !!!

Suffit de lire les logs.

Maintenant, c’est quoi cette ligne que j’ai commentée ?
Quelqu’un sait ?


#5

slt,

Il me semble que cette variable de la version 4.1 et 5 permet d’accepter une connexion aux clients inférieures.