PhpMyAdmin inaccessible

Bonjour à tous

Je viens poster ma demande d’aide ici, car je suis confronté à un problème de taille que j’ai du mal à résoudre. je viens donc solliciter votre connaissance, pour débloquer cette situation.

Je vais d’abord vous résumer les faits :
J’ai un serveur dédié qui tourne sur débian. J’ai dessus un site web en apache, et un serveur mysql.
Tout marchait bien jusque ce matin. Le site ne marchait plus, pas moyen de trouver la raison … je décide de redémarrer la machine, ça fonctionne. Le site revient, je tente alors de me connecter sur phpmyadmin, et là j’obtiens cette erreur :
#2002 Connexion au serveur MySQL non permise
et plus bas :
La connexion au controluser tel que défini dans votre configuration a échoué.

Alors je me met à chercher sur google, je trouve différentes solutions, comme la modification en dur de l’user et du pass dans config.inc.php
Rien n’y change, j’ai toujours la même erreur. Je me dit que les identifiants ont été corrompus, peut être une tentative de hack. Alors j’essaye de me connecter à mysql en commande prompt par ssh, et là j’obtient ceci :

mysql -u root -p
mysql: relocation error: mysql: symbol disabled_my_option, version libmysqlclient_16 not defined in file libmysqlclient.so.16 with link time reference

Je test alors de re-télécharger ce fichier, par wget
je recommence mon prompt

mysql -u root -p
mysql: /usr/lib/libmysqlclient.so.16: no version information available (required by mysql)
mysql: relocation error: mysql: symbol disabled_my_option, version libmysqlclient_16 not defined in file libmysqlclient.so.16 with link time reference

Encore pire …
Me vient l’idée de reconfigurer le serveur mysql :

dpkg-reconfigure mysql-server-5.1
Stopping MySQL database server: mysqld failed!
invoke-rc.d: initscript mysql, action "stop" failed.

Dans la foulée, un restart de mysql :

/etc/init.d/mysql restart
Stopping MySQL database server: mysqld failed!
Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!

Je me retrouve complètement bloqué, sans idée. N’étant pas un utilisateur avancé de debian, je pense et j’espère être passé à côté des solutions.

Pourriez-vous m’éclairer ?

Bonjour,

commence par regarder les log (/var/log/mysql /var/log/syslog …)

Nicolas

Bonjour nilux17

Voici le réponse à tail syslog :

Jul 23 13:20:08 sd-30033 sm-mta[16700]: STARTTLS=client, relay=gmail-smtp-in-v4v6.l.google.com., version=TLSv1/SSLv3, verify=FAIL, cipher=RC4-SHA, bits=128/128
Jul 23 13:20:11 sd-30033 sm-mta[16700]: q6NBJXXT016694: to=<***@gmail.com>, ctladdr=<www-data@****.fr> (33/33), delay=00:00:38, xdelay=00:00:37, mailer=esmtp, pri=121568, relay=gmail-smtp-in-v4v6.l.google.com, dsn=2.0.0, stat=Sent (OK 1343042402 n64si11370691yhk.111)
Jul 23 13:28:02 sd-30033 named[1309]: lame server resolving '20.225.250.61.in-addr.arpa' (in '225.250.61.in-addr.arpa'?): 211.47.128.1#53
Jul 23 13:28:03 sd-30033 named[1309]: lame server resolving '20.225.250.61.in-addr.arpa' (in '225.250.61.in-addr.arpa'?): 211.47.128.2#53
Jul 23 13:30:01 sd-30033 /USR/SBIN/CRON[21268]: (root) CMD (chmod 777 -R /home/mcf)
Jul 23 13:39:01 sd-30033 /USR/SBIN/CRON[27696]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -delete)
Jul 23 13:40:01 sd-30033 /USR/SBIN/CRON[28176]: (smmsp) CMD (test -x /etc/init.d/sendmail && /usr/share/sendmail/sendmail cron-msp)
Jul 23 13:40:01 sd-30033 /USR/SBIN/CRON[28175]: (root) CMD (chmod 777 -R /home/mcf)
Jul 23 13:41:08 sd-30033 named[1309]: lame server resolving '20.225.250.61.in-addr.arpa' (in '225.250.61.in-addr.arpa'?): 211.47.128.1#53
Jul 23 13:41:08 sd-30033 named[1309]: lame server resolving '20.225.250.61.in-addr.arpa' (in '225.250.61.in-addr.arpa'?): 211.47.128.2#53

Mysql/ ainsi que mysql.err et mysql.log sont tous les trois dépourvus de contenu

Salut,

Les logs de mysql sont désactivés par défaut.
Il faut les activer manuellement (/etc/mysql/my.cnf)

Alors oui je suis à côté. je l’ai changé mais pour lui faire assimiler …

[root > /etc/mysql] # /etc/init.d/mysql reload
Reloading MySQL database server: mysqld/usr/bin/mysqladmin: /usr/lib/libmysqlclient.so.16: no version information available (required by /usr/bin/mysqladmin)
/usr/bin/mysqladmin: relocation error: /usr/bin/mysqladmin: symbol disabled_my_option, version libmysqlclient_16 not defined in file libmysqlclient.so.16 with link time reference

Quelle version de libmysqlclient16 ?

[root > /var/log] # apt-cache policy libmysqlclient16
libmysqlclient16:
  Installé : 5.1.61-0+squeeze1
  Candidat : 5.1.63-0+squeeze1
 Table de version :
     5.1.63-0+squeeze1 0
        500 http://security.debian.org/ squeeze/updates/main amd64 Packages
 *** 5.1.61-0+squeeze1 0
        100 /var/lib/dpkg/status
     5.1.49-3 0
        500 http://ftp.fr.debian.org/debian/ squeeze/main amd64 Packages

Alors il faut faire une mise à jour…
Tu es en retard d’une version, ça pourrait régler ton problème…

apt-get update apt-get upgrade

J’ai rentré les 2 commandes, mais j’ai l’impression qu’il n’a pas touché à cette librairie

[root > /var/log] # apt-cache policy libmysqlclient16
libmysqlclient16:
  Installé : 5.1.61-0+squeeze1
  Candidat : 5.1.63-0+squeeze1
 Table de version :
     5.1.63-0+squeeze1 0
        500 http://security.debian.org/ squeeze/updates/main amd64 Packages
 *** 5.1.61-0+squeeze1 0
        100 /var/lib/dpkg/status
     5.1.49-3 0
        500 http://ftp.fr.debian.org/debian/ squeeze/main amd64 Packages
[root > /var/log] # /etc/init.d/mysql reload
Reloading MySQL database server: mysqld/usr/bin/mysqladmin: /usr/lib/libmysqlclient.so.16: no version information available (required by /usr/bin/mysqladmin)
/usr/bin/mysqladmin: relocation error: /usr/bin/mysqladmin: symbol disabled_my_option, version libmysqlclient_16 not defined in file libmysqlclient.so.16 with link time reference

Ha…
Alors essaye un

[root > /etc/init.d] # apt-get dist-upgrade
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Calcul de la mise à jour... Fait
Les paquets suivants seront mis à jour :
  libmozjs2d libmysqlclient-dev libmysqlclient16 mysql-client-5.1 mysql-common mysql-server mysql-server-5.1 mysql-server-core-5.1 xulrunner-1.9.1
9 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 0 o/34,9 Mo dans les archives.
Après cette opération, 86,0 ko d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer [O/n]Â ? O
Lecture des fichiers de modifications (« changelog »)... Terminé

[root > /etc/init.d] # ./mysql reload
Reloading MySQL database server: mysqld/usr/bin/mysqladmin: /usr/lib/libmysqlclient.so.16: no version information available (required by /usr/bin/mysqladmin)
/usr/bin/mysqladmin: relocation error: /usr/bin/mysqladmin: symbol disabled_my_option, version libmysqlclient_16 not defined in file libmysqlclient.so.16 with link time reference

[root > /etc/init.d] # apt-cache policy libmysqlclient16
libmysqlclient16:
  Installé : 5.1.61-0+squeeze1
  Candidat : 5.1.63-0+squeeze1
 Table de version :
     5.1.63-0+squeeze1 0
        500 http://security.debian.org/ squeeze/updates/main amd64 Packages
 *** 5.1.61-0+squeeze1 0
        100 /var/lib/dpkg/status
     5.1.49-3 0
        500 http://ftp.fr.debian.org/debian/ squeeze/main amd64 Packages
[root > /etc/init.d] #

J’ai l’impression que je me suis mis dans un beau pétrin …

Bizarre…
Que donne:ls -al /usr/lib/libmysqlclient*

Tu es en 32 ou 64b ?
Tu as fais une installation particulière récemment ? Pas de bidouillage ?

Je suis en 64b. Non je n’ai rien fait de particulier, ça s’est passé comme dit dans mon premier message, ça m’est tombé dessus vraiment par hasard … Je pensais soit à une mauvaise intention, ou alors mysql qui a essayé de se mettre à jour seul lors du redémarrage …


[root > /etc/fail2ban/filter.d] # ls -al /usr/lib/libmysqlclient*
-rw-r--r-- 1 root root 3224214  6 mars  22:53 /usr/lib/libmysqlclient.a
-rw-r--r-- 1 root root    1068  6 mars  22:53 /usr/lib/libmysqlclient.la
-rw-r--r-- 1 root root 3242550  6 mars  22:53 /usr/lib/libmysqlclient_r.a
-rw-r--r-- 1 root root    1122  6 mars  22:53 /usr/lib/libmysqlclient_r.la
lrwxrwxrwx 1 root root      26 16 juil. 16:37 /usr/lib/libmysqlclient_r.so -> libmysqlclient_r.so.16.0.0
lrwxrwxrwx 1 root root      26 16 juil. 16:37 /usr/lib/libmysqlclient_r.so.12 -> libmysqlclient_r.so.12.0.0
-rwxr-xr-x 1 root root  262312 13 janv.  2009 /usr/lib/libmysqlclient_r.so.12.0.0
lrwxrwxrwx 1 root root      26 16 juil. 16:37 /usr/lib/libmysqlclient_r.so.14 -> libmysqlclient_r.so.14.0.0
-rwxr-xr-x 1 root root 2179621 13 janv.  2009 /usr/lib/libmysqlclient_r.so.14.0.0
lrwxrwxrwx 1 root root      26 16 juil. 16:37 /usr/lib/libmysqlclient_r.so.15 -> libmysqlclient_r.so.15.0.0
-rwxr-xr-x 1 root root 4957425 13 janv.  2009 /usr/lib/libmysqlclient_r.so.15.0.0
lrwxrwxrwx 1 root root      26 16 juil. 16:37 /usr/lib/libmysqlclient_r.so.16 -> libmysqlclient_r.so.16.0.0
-rwxr-xr-x 1 root root 5359462 13 janv.  2009 /usr/lib/libmysqlclient_r.so.16.0.0
lrwxrwxrwx 1 root root      24 16 juil. 16:37 /usr/lib/libmysqlclient.so -> libmysqlclient.so.16.0.0
lrwxrwxrwx 1 root root      24 16 juil. 16:37 /usr/lib/libmysqlclient.so.12 -> libmysqlclient.so.12.0.0
-rwxr-xr-x 1 root root  253888 13 janv.  2009 /usr/lib/libmysqlclient.so.12.0.0
lrwxrwxrwx 1 root root      24 16 juil. 16:37 /usr/lib/libmysqlclient.so.14 -> libmysqlclient.so.14.0.0
-rwxr-xr-x 1 root root 2154943 13 janv.  2009 /usr/lib/libmysqlclient.so.14.0.0
lrwxrwxrwx 1 root root      24 16 juil. 16:37 /usr/lib/libmysqlclient.so.15 -> libmysqlclient.so.15.0.0
-rwxr-xr-x 1 root root 4928199 13 janv.  2009 /usr/lib/libmysqlclient.so.15.0.0
lrwxrwxrwx 1 root root      22 22 juil. 16:46 /usr/lib/libmysqlclient.so.16 -> libmysqlclient.so.16.1
-rwxr-xr-x 1 root root 5329805 13 janv.  2009 /usr/lib/libmysqlclient.so.16.0.0
-rw-r--r-- 1 root root 6840364 22 juil. 12:42 /usr/lib/libmysqlclient.so.16.1

Re,
Tente de régénérer le cache de l’éditeur de lien dynamique:ldconfig
Puis de nouveau essaye de relancer mysql.

[root > ~] # ldconfig
[root > ~] # /etc/init.d/mysql reload
Reloading MySQL database server: mysqld/usr/bin/mysqladmin: /usr/lib/libmysqlclient.so.16: no version information available (required by /usr/bin/mysqladmin)
/usr/bin/mysqladmin: relocation error: /usr/bin/mysqladmin: symbol disabled_my_option, version libmysqlclient_16 not defined in file libmysqlclient.so.16 with link time reference
[root > ~] # /etc/init.d/mysql restart
Stopping MySQL database server: mysqld failed!
Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!

Je reste étonné par le dist-upgrade et la non mise à jour de libmysqlclient16…
Peut-être essayer de le forcer:apt-get install -f -t squeeze/updates libmysqlclient16

Ou…

[root > /srv/teamspeak3] # dpkg -i  /var/cache/apt/archives/libmysqlclient16_5.1.63-0+squeeze1_amd64.deb
(Lecture de la base de données... 42673 fichiers et répertoires déjà installés.)
Préparation du remplacement de libmysqlclient16 5.1.61-0+squeeze1 (en utilisant .../libmysqlclient16_5.1.63-0+squeeze1_amd64.deb) ...
Dépaquetage de la mise à jour de libmysqlclient16 ...
dpkg : des problèmes de dépendances empêchent la configuration de libmysqlclient16 :
 libmysqlclient16 dépend de mysql-common (>= 5.1.63-0+squeeze1) ; cependant :
  La version de mysql-common sur le système est 5.1.61-0+squeeze1.
dpkg : erreur de traitement de libmysqlclient16 (--install) :
 problèmes de dépendances - laissé non configuré
Des erreurs ont été rencontrées pendant l'exécution :
 libmysqlclient16

C’est bien un problème d’installation de mysql (tu t’en doutais un peu…)

Tu pourrais donner ton sources.list et ton fichier /etc/apt/preferences (s’il existe) ?

Oui je m’en doutais effectivement


[root > /home] # apt-cache policy mysql-common
mysql-common:
  Installé : 5.1.61-0+squeeze1
  Candidat : 5.1.63-0+squeeze1
 Table de version :
     5.5.24+dfsg-4 0
        100 http://ftp.fr.debian.org/debian/ wheezy/main amd64 Packages
     5.1.63-0+squeeze1 0
        500 http://security.debian.org/ squeeze/updates/main amd64 Packages
 *** 5.1.61-0+squeeze1 0
        100 /var/lib/dpkg/status
     5.1.49-3 0
        500 http://ftp.fr.debian.org/debian/ squeeze/main amd64 Packages

Le sources.list

## Debian Squeeze sources.list

## Debian.org FR mirror
deb http://ftp.fr.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ squeeze main contrib non-free

## Debian security updates
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free

deb http://debian.home-dn.net/sarge postfix-vda/
deb http://ftp.fr.debian.org/debian/ wheezy main

Preferences

Package: *
Pin: release n=wheezy
Pin-Priority: 100