[RHEL 5 / MySql] MySQL ne veut pas démarrer

Fermé
yam - 29 déc. 2011 à 10:57
 yam - 29 déc. 2011 à 13:36
Bonjour,

J'ai installé sur un serveur (RHEL5) les packages Apache et MySQL(-server) en utilisant yum.
Tout marche bien au début, puis sans modification de la configuration, après un
/etc/rc.d/init.d/mysqld restart, impossible de rédémarrer le service :

[root@XXX ~]# /etc/init.d/mysqld restart
Arrêt de mysqld :                                        [  OK  ]
MySQL Daemon failed to start.
Démarrage de mysqld :                                    [ÃCHOUÃ



Je fouille un peu, et un erreur un peu plus précise se dessine :

[root@XXX ~]# /usr/bin/mysql_secure_installation
In order to log into MySQL to secure it, we'll need the current
password for the root user.  If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
Enter current password for root (enter for none):
Aborting!


Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) : je regarde donc si le fichier existe :

[root@NDOBSSWV01 mysql]# ls -l /var/lib/mysql/mysql.sock
ls: impossible d'accéder à /var/lib/mysql/mysql.sock: Aucun fichier ou dossier de ce type



J'ai rien à perdre, donc je désinstalle puis réinstalle mysql et mysql-server (yum remove puis yum install)

Même problème.
Le user mysql existe bien
[root@XXX ~]#cat /etc/passwd
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash

et a bien les droit sur les diverses arborescence (mysql:root)

Voici mon /etc/my.cnf si besoin :
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid




Donc voila, ça fait deux jours que j'enchaine les install/remove de mysql en suivant les "solutions" trouvé sur google à "Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)" ou "missing file '/var/lib/mysql/mysql.sock'", mais rien...

Pour rappel, je ne peux pas démarrer le service mysql et aucun processus mysql n'est lancé (éventuel soucis de conflit)

[root@NDOBSSWV01 mysql]# ps -aux |grep mysql
root      7784  0.0  0.0 105220   876 pts/0    S+   10:55   0:00 grep mysql



Si quelqu'un à une piste de réponse... :)

Cordialement,

A voir également:

1 réponse

mamiemando Messages postés 33274 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 septembre 2024 7 783
29 déc. 2011 à 13:11
Démarrage de mysqld :                                    [ÃCHOUÃ


Hum il va falloir reconfigurer tes locales et passer tout en utf8 pour régler les problèmes d'accents, mais bon :-) À ce stade ton serveur mysql ne démarre pas, il faut regarder dans les logs pourquoi (probablement dans /var/log/mysql/mysql.err ou nom approchant).

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)


Ton serveur mysql ne tourne pas, donc impossible de s'y connecter pour le sécuriser ! Il faut d'abord régler le premier problème.

ls: impossible d'accéder à /var/lib/mysql/mysql.sock: Aucun fichier ou dossier de ce type


Comme le serveur ne tourne pas, ce fichier n'est pas créé (ce qui explique l'erreur précédente)

Le user mysql existe bien

Si le paquet est bien fait, tu n'as pas à gérer l'utilisateur qui sera créé/supprimé automatiquement. Mais ça aurait pu effectivement être une cause de plantage vu que cet utilisateur est explicitement utilisé par /etc/mysql/my.cnf pour lancer le serveur.

À ce stade, je te suggère de purger le paquet (ie le supprimer ainsi que les fichiers de configuration relatifs à mysql).
https://serverfault.com/questions/41502/yum-equivalent-of-apt-get-purge

Ensuite essaye de lancer ton serveur et si ça plante toujours, reporte-moi les éventuels messages d'erreurs inscrits dans les logs.

Bonne chance
0
# UTF8 est pourtant bien configuré dans mon fichier /etc/sysconfig/i18n, je regarderais ça plus tard :)

Alors j'ai une nouvelle fois désinstallé mysql et mysql server (yum remove, c'est "pareil" que apt-get purge, il supprime aussi les ficheirs de config) puis réinstallé avec succès.

Ensuite je veux lancer mysql :
[root@XXX sysconfig]# /etc/rc.d/init.d/mysqld start  
Initialisation de la base de données MySQL :  Installing MySQL system tables...  
111229 13:25:22 [ERROR] Can't find messagefile '/usr/share/mysql/english/errmsg.sys'  
111229 13:25:22 [ERROR] Aborting  

111229 13:25:22 [Note]  

Installation of system tables failed!  Examine the logs in  
/var/lib/mysql for more information.  

You can try to start the mysqld daemon with:  

    shell> /usr/libexec/mysqld --skip-grant &  

and use the command line tool /usr/bin/mysql  
to connect to the mysql database and look at the grant tables:  

    shell> /usr/bin/mysql -u root mysql  
    mysql> show tables  

Try 'mysqld --help' if you have problems with paths.  Using --log  
gives you a log in /var/lib/mysql that may be helpful.  

Please consult the MySQL manual section  
'Problems running mysql_install_db', and the manual section that  
describes problems on your OS.  Another information source are the  
MySQL email archives available at http://lists.mysql.com/.  

Please check all of the above before mailing us!  And remember, if  
you do mail us, you MUST use the /usr/bin/mysqlbug script!  

                                                           [ÃCHOUÃ]  



Examine the logs in /var/lib/mysql for more information.

Dans /var/lib/mysql je n'ai pas de log, juste deux dossiers (mysql et test)
[root@XXX mysql]# ls -a
. .. mysql test

You can try to start the mysqld daemon with: shell> /usr/libexec/mysqld --skip-grant &
[root@XXX mysql]# /usr/libexec/mysqld --skip-grant &  
[1] 8712  
[root@XXX mysql]# 111229 13:28:40 [ERROR] Can't find messagefile '/usr/share/mysql/english/errmsg.sys'  
111229 13:28:40 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!  

111229 13:28:40 [ERROR] Aborting  

111229 13:28:40 [Note]  


[ERROR] Can't find messagefile '/usr/share/mysql/english/errmsg.sys'

Effectivement, après un updatedb puis un locate errmsg.sys, aucun fichir ne ressort. D'ailleurs, je n'ai plus de fichier /etc/my.cnf non plus...

et sinon :
[root@XXX mysql]# mysqld --log  
-bash: mysqld : commande introuvable  
[root@XXX mysql]# mysql  
mysql: error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory


Merci pour ton temps et ton aide!



PS :
entre temps j'ai fouillé un peu dans le SPAN, et j'ai trouvé qu'il me manquait une dépendance : DBD::mysql. J'ai donc suivi ces instructions pour l'installer (http://www.redantigua.com/cpan-dbd-mysql.html), c'est réparé, et maintenant voici le résultat des commandes :
[root@XXXX rt-4.0.4]# /etc/rc.d/init.d/mysqld start 
MySQL Daemon failed to start. 
Démarrage de mysqld :                                    [ÃCHOUÃ]



[root@XXX rt-4.0.4]# mysql 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
0