Problème de démarrage de la base de donnée MySQL

Bonjour à tous,
Je poste un nouveau message sur le forum après un échange sur le support en ligne avec kiki et Moul qui me disez que nous étions plusieurs à être confrontés au même problème.
J’ai installé YunoHost sur un Raspberry PI et ça tourne bien depuis quelques mois, sauf depuis vendredi 7 novembre après avoir fait un apt-get update et upgrade sur le raspberry (Je crois que les dernières modifications apt-get concernées php5 notamment).
Depuis, je n’arrive plus à me connecter aux apps YunoHost faisait appel à MySQL (RoundCube, ownCloud, PhpMyadmin et Baïkal)
Je ne peux pas démarrer le service MySQL ni depuis l’administration web de YunoHost ni depuis une ligne de commande. Ça échoue à chaque fois.

Je n’ai pas de logs concernant MySQL et rien non plus dans les logs des apps concernées.
Par contre, lorsque j’essaie de m’y connecter je rencontre divers message d’erreur :

RoundCube : “DATABASE ERROR: CONNECTION FAILED!” Unable to connect to the database! Please contact your server-administrator.

ownCloud : “[2002] SQLSTATE[HY000] [2002] Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)”

PhpMyAdmin :#2002 - Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)” “Le serveur ne répond pas (ou l’interface de connexion vers le serveur MySQL local n’est pas correctement configurée).” “La connexion au controluser tel que défini dans votre configuration a échoué.”

Baïkal : exception ‘Exception’ with message ‘Fatal error: no connection to a database is available.’ in /var/www/baikal/Core/Frameworks/Baikal/Core/Tools.php:66
Stack trace:
0 /var/www/baikal/Core/Frameworks/Baikal/Framework.php(79): Baikal\Core\Tools::assertBaikalIsOk()
1 /var/www/baikal/Core/Frameworks/Baikal/WWWRoot/index.php(52): Baikal\Framework::bootstrap()
2 {main}

J’ai recherché sur le système et je n’ai aucun fichier mysql.sock.
J’ai également essayé de modifier le ficher /var/mysql/my.cnf mais je ne suis parvenu à aucun résultat probant.

Si quelqu’un a une idée.

Merci par avance.

Voici mon post à ce sujet sur l’ancien Ask : https://ask.yunohost.org/question/217/mysql-wont-start/.

Que te renvoit un df -h ?

Ta carte SD est peut-être pleine, c’est souvent comme ça que ça se manifeste…

Merci Moul, j’avais effectivement vu ton topic sur l’ancien forum et j’ai également testé les solutions qui t’avaient été proposées sans succès.
Kload j’ai vérifié le manque de place sur la carte hd mais à priori cela est ok de ce côté la. Voici ce que me retourne df -h :
[root@raspberrypi] ~ # df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 29G 1.9G 26G 7% /
/dev/root 29G 1.9G 26G 7% /
devtmpfs 239M 0 239M 0% /dev
tmpfs 49M 1.1M 48M 3% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 97M 0 97M 0% /run/shm
/dev/mmcblk0p1 75M 9.6M 65M 13% /boot
/dev/sda1 932G 466G 466G 50% /mnt/disk

Peut-être un bug MySQL sous ARM…:wink:

Pour compléter, je viens de vérifier les logs du fichier syslog dans lequel il remonte des erreurs au démarrage du pi :
Nov 9 15:33:38 raspberrypi /etc/init.d/mysql[5289]:
0 processes alive and ‘/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf ping’ resulted in
#007/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!

Par contre je n’ai effectivement rien dans les logs mysql et celui-ci ne démarre pas à l’allumage.

J’ai les mêmes erreurs. J’ai chercher sur le net. Mais, j’ai pas trouvé de solutions qui fonctionne.

J’ai regardé dans le fichier /var/lib/mysql/raspberrypi.err

qui semble afficher ce qui se passe pour mysql au demarrage du pi et dedans il y a pas mal d’infos.

Déjà il y a une erreur au passage de la version InnoDB: 5.5.37 à la version 5.5.38-0+wheezy1 : “140726 9:08:06 [ERROR] /usr/sbin/mysqld: Can’t find file: ‘./performance_schema/rwlock_instances.frm’ (errno: 13)” erreur présente pour moi depuis plus de 3 mois :smile:

Et puis il y a deux nouvelles erreurs au passage de la version InnoDB: 5.5.38 à la version 5.5.40.
141107 16:52:54 [ERROR] Fatal error: Can’t open and lock privilege tables: Incorrect file format 'host’
141107 16:52:54 mysqld_safe mysqld from pid file /var/lib/mysql/raspberrypi.pid ended
141108 07:28:52 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
141108 7:28:53 [Note] Plugin ‘FEDERATED’ is disabled.
/usr/sbin/mysqld: Incorrect file format 'plugin’
141108 7:28:53 [ERROR] Can’t open the mysql.plugin table. Please run mysql_upgrade to create it.

Voilà donc à priori il faut faire mysql_upgrade pour réparer cela, sauf que je n’y suis pas encore parvenu.

J’imagine que le passage aux versions se fait que j’effectue les apt-update et upgrade.

J’ai l’impression d’avoir les mêmes soucis aussi, même si le serveur n’est pas un Rasberrypi, juste un PC. donc cela ne vient pas forcemment de l’architecture ARM. Même message d’erreur avec owncloud et roundcube et même constats : mysql est enable, mais ne demarre pas, pourtant ce n’est pas un problème d’espace dans les partitions.

Bonjour, et merci pour tout le boulot concernant yunohost.
J’ai installé yunohost sur raspberrypi il y a plusieurs semaine, et là je constate le même problème avec MySQL : plus d’accès à Roundcube :

DATABASE ERROR: CONNECTION FAILED!
Unable to connect to the database!
Please contact your server-administrator.

comme c’est moi, il va falloir que je trouve une solution :wink:
Et effectivement impossible de lancer mysql

service mysql start

[FAIL] Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!

mysql-server 5.5.40-0+wheezy1

j’ai trouvé cette erreur dans /var/lib/mysql mais je ne sais pas si c’est en rapport ?? :

tail /var/lib/mysql/rodinux.err

InnoDB: Reading tablespace information from the .ibd files…
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer…
141115 21:55:06 InnoDB: Waiting for the background threads to start
141115 21:55:07 InnoDB: 5.5.40 started; log sequence number 124860289
141115 21:55:07 [Note] Server hostname (bind-address): ‘0.0.0.0’; port: 3306
141115 21:55:07 [Note] - ‘0.0.0.0’ resolves to ‘0.0.0.0’;
141115 21:55:07 [Note] Server socket created on IP: ‘0.0.0.0’.
141115 21:55:07 [ERROR] Fatal error: Can’t open and lock privilege tables: Incorrect file format 'user’
141115 21:55:07 mysqld_safe mysqld from pid file /var/lib/mysql/rodinux.pid ended

Mon serveur a eu des coupures (de courant dues aux orages) suite à quoi la base MySQL s’était corrompue. Le syndrome c’est que mysql n’arrivait plus à démarrer
et que les apps comme owncloud, roundcube et wordpress ne fonctionnaient plus.
Cela venait d’une corruption de la table user, une des table de mysql
donc en en mettant une fausse, puis en remettant tous les utilisateurs à la main
ça a fonctionné.

À noter que dans le cas de rodinux, c’est la table user qui a été corrompue. Souvent, ce sont les tables de performance_schemas qui se corrompent (sans gravité). Et dans certains cas, comme celui de @joul visiblement, c’est la table host qui est impactée.

La solution n’est pas simple, il s’agit de remettre sur pied la table impactée, en lançant des commandes personnalisées à l’initialisation du démon MySQL (à l’aide de l’option --init-file)

Voir ici : http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html

Bonsoir, je complète les logs, extrait de

tail -50 /var/lib/mysql/raspberry-pi.err

141116 13:01:30 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
141116 13:01:31 [Note] Plugin ‘FEDERATED’ is disabled.
141116 13:01:31 InnoDB: The InnoDB memory heap is disabled
141116 13:01:31 InnoDB: Mutexes and rw_locks use GCC atomic builtins
141116 13:01:31 InnoDB: Compressed tables use zlib 1.2.7
141116 13:01:31 InnoDB: Using Linux native AIO
141116 13:01:31 InnoDB: Initializing buffer pool, size = 128.0M
141116 13:01:31 InnoDB: Completed initialization of buffer pool
141116 13:01:31 InnoDB: highest supported file format is Barracuda.
141116 13:01:31 InnoDB: Waiting for the background threads to start
141116 13:01:32 InnoDB: 5.5.40 started; log sequence number 1719688
141116 13:01:32 [Note] Server hostname (bind-address): ‘0.0.0.0’; port: 3306
141116 13:01:32 [Note] - ‘0.0.0.0’ resolves to ‘0.0.0.0’;
141116 13:01:32 [Note] Server socket created on IP: ‘0.0.0.0’.
141116 13:01:32 [ERROR] Fatal error: Can’t open and lock privilege tables: Incorrect file format ‘user’
141116 13:01:32 mysqld_safe mysqld from pid file /var/lib/mysql/raspberry-pi.pid ended

possible que la base soit corrompue suite à un arrêt du raspberrypi par coupure de l’alimentation électrique et non par # shutdown -h now
Je ne suis pas un spécialiste de MySQL, je vais jeter un oeil au lien soumis par @kload.

Moi aussi ce problème de base de donné MySQL est survenue après une extinction forcée.

De mon côté j’ai essayé de réparer en utilisant mysql repair et MyISAM repair sur les tables touchées mais sans succès.
J’ai fini par ré-installer yunohost sur mon raspberry. Merci à tous pour votre aide.