Unable to start service 'mysql'

Merci.

Quand je fais un : sudo mysqlcheck -c -u root --all-databases j’obtiens :

...
mysql.user                                         OK
nextcloud.oc_accounts                              OK
nextcloud.oc_activity
Warning  : InnoDB: The B-tree of index "activity_time" is corrupted.
error    : Corrupt
nextcloud.oc_activity_mq                           OK
...

Aïe aïe aïe, il va sans doute falloir réparer l’index…
Avant toute chose, bien sauvegarder les données.
Ensuite on peut tenter :

# mysqlcheck --debug-info -u root --repair --all-databases

Maintenant j’ai :

mysqlcheck --debug-info -u root --repair --all-databases
mysqlcheck: Got error: 2002: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111 "Connection refused") when trying to connect

ls -l /var/run/mysqld
Et aussi :
dpkg -l | grep mysql
et :
dpkg -l | grep mariadb

Merci, j’ai re-démarré mon Yunohost de nouveau at là tout semble marcher, y compris l’interface web qui ne fonctionnait pas totalement.

A quoi servent :

ls -l /var/run/mysqld
Et aussi :
dpkg -l | grep mysql
et :
dpkg -l | grep mariadb

OK oui, c’est un bon réflexe à avoir de redémarrer après des modifications, j’ai oublié de le préciser.

ls -l /var/run/mysqld permet de lister le contenu du dossier “/var/run/mysqld” pour voir si le socket est bien présent et avec les bonnes permissions (option -l)

dpkg -l | grep "terme de recherche" permet de lister les paquets comportant le terme de recherche dans leur nom, ça aurait permis de voir quels paquets de mysql et de mariadb sont présents sur le système, pour être sûr qu’il n’en manque pas.

Mais si tout fonctionne pour l’instant alors c’est très bien, la réparation de la base a dû faire son effet.
Si jamais cela est effectivement le cas, ne pas oublier de noter le message expliquant comment réparer la base comme solution, ça aide au suivi du support pour le forum. Merci !

1 Like

Ok, j’attends un jour pour voir si tout tient car j’ai l’impression que mysql tombe en rade après un certain temps…
Merci.

Eh non, mysql est tombé en rade de nouveau et je ne peux pas le redémarrer, il reste avec le statut : Start on boot: Enabled Status: activating

Via le terminal si j’essaye de faire de nouveau sudo mysqlcheck -c -u root --all-databases j’obtiens :

~ $ sudo mysqlcheck -c -u root --all-databases
mysqlcheck: Got error: 2002: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111 "Connection refused") when trying to connect
admin@arnauld:~ $ ls -l /var/run/mysqld

Ce que je n’avais pas avant.

Ok. D’où ma suggestion de la commande :

ls -l /var/run/mysqld

… pour savoir si le socket est bien présent et avec les bonnes permissions.
Renvoie-t-elle quelque chose ?

Pour un diagnostic rapide :

mysqladmin -u root status

Vérifier aussi si le fichier /etc/mysql/my.cnf contient bien la ligne :

socket          = /var/run/mysqld/mysqld.sock

Bonjour,

ce matin tout était tombé, j’ai du re-démarrer Yunohost en débranchant sauvagement le Pi car je n’avais accès ni à l’interface web ni en ssh.

Après re-démarrage j’ai maintenant accès en ssh et une partie de l’administration web.
Dans l’administration web si je clique sur “Applications” ou “System update” rien ne se passe. Les autres menus ouvrent bien les sous-menus par contre.

En ssh, si je fais :

admin@arnauld:~ $ ls -l /var/run/mysqld
total 0
srwxrwxrwx 1 mysql mysql 0 Mar  3 11:57 mysqld.sock

et

admin@arnauld:~ $ mysqladmin -u root status
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111 "Connection refused")'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!

/etc/mysql/my.cnf contient bien la ligne :

socket = /var/run/mysqld/mysqld.sock

L’interface web de Nextcloud n’affiche rien et l’interface web de roundcube m’affiche :

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

Merci.

A tout hasard, vérifie ton disque dur (ça ne peut pas faire de mal) avec smartmontools.

Peut être qu’une réinstallation complète de mysql aiderait, mais je connais pas les commandes par cœurs. De mémoire il faut sauvegarder, régénérer l’espace où sont stockées les données et réimporter les données

Merci, mais c’est pas gagné :

admin@arnauld:~ $ sudo smartctl -a /dev/sda
smartctl 6.6 2016-05-31 r4324 [armv7l-linux-4.19.66-v7+] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

/dev/sda: Unknown USB bridge [0x1058:0x259c (0x1005)]
Please specify device type with the -d option.

Use smartctl -h to get a usage summary

Ok. Je pencherais plutôt pour un problème d’utilisateur/mot de passe pour accéder à la bdd.
Que donne :

$ mysql -u root -p$(cat /etc/yunohost/mysql) mysql

?

S’il y a du plantage, essayer :

$ yunohost service --regen-conf mysql -f

… et éventuellement redémarrer.

$ mysql -u root -p$(cat /etc/yunohost/mysql) mysql

admin@arnauld:~ $ sudo mysql -u root -p$(cat /etc/yunohost/mysql) mysql
cat: /etc/yunohost/mysql: Permission denied
Enter password: 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111 "Connection refused")

et

$ yunohost service --regen-conf mysql -f

admin@arnauld:~ $ sudo yunohost service --regen-conf mysql -f
usage: yunohost service
{add,remove,start,stop,reload,restart,reload_or_restart,enable,disable,status,log,regen-conf,regenconf}

[-h]
yunohost service: error: invalid choice: ‘mysql’ (choose from ‘add’, ‘remove’, ‘start’, ‘stop’, ‘reload’, ‘restart’, ‘reload_or_restart’, ‘enable’, ‘disable’, ‘status’, ‘log’, ‘regen-conf’, ‘regenconf’)

Merci, mais je pense que j’ai suffisamment de swap…

Ok, je viens de voir que la syntaxe des commandes a changé. Essayer plutôt :

# yunohost tools regen-conf mysql -f

… et éventuellement redémarrer.

(Ps : normalement il n’y a pas besoin de faire sudo ou de passer en root pour utiliser les commandes mysql, en revanche c’est nécessaire pour les commandes yunohost.)

1 Like

Merci !

J’ai fait la commande yunohost tools regen-conf mysql -f puis ai re-démarré.
Accès en ssh et la web admin. Nextcloud et roundcube sont accessibles pour le moment (j’attends car de toute façon cela redevenait accessible après re-démarrage). Mysql est marqué actif dans les services via la web admin.

Dans la web admin, Applications ne s’ouvre pas par contre, ni mes domaines sous le menu principal Domain.

Ça n’a pas tenu longtemps, mysql arrêté et impossible à redémarrer (sauf reboot) et Nextcloud et roundcube hs.

Bon bon.
Je ne suis pas expert en BDD et je vois d’autres pistes qui pourraient être suivies mais avant toute chose, est-ce possible de sauvegarder les données (à la main et par application, pas en faisant des snapshots, du rsync du borg ni en utilisant l’outil de sauvegarde de Yunohost), de tout formater et de faire une nouvelle install ?
Je sais que ça peut être frustrant mais il est fort possible que ce soit la coupure de courant qui ait mis le bazar (une routine du serveur coupée en plein milieu par exemple) et parfois les réinstallations font gagner beaucoup de temps (car là ça fait 2 jours que le problème dure).

1 Like