L'arrêt se bloque sur «Un travail d'arrêt est en cours d'exécution pour pour Mysql Community Server»

18

J'utilise MySQL ver 14.14 Distrib 5.7.17 pour Linux (x86_64) sur Ubuntu 16.04. Chaque fois que j'arrête Ubuntu, il se bloque ici.

entrez la description de l'image ici

Après 10 minutes, il tue automatiquement le processus (je suppose). J'ai rencontré ce problème plusieurs fois. J'ai fait une installation propre plusieurs fois, cela fonctionne pendant un certain temps, mais commence ensuite à faire la même chose après quelques arrêts appropriés.

Appuyez sur Ctrl + Alt + Suppr 7 fois de suite pour forcer l'arrêt. Forcer un arrêt comme celui-ci a corrompu mes données MySQL. Quelqu'un d'autre a-t-il rencontré ce problème?

Waleed Ahmad
la source
Que se passe-t-il lorsque vous exécutez sudo service mysql stopsur la ligne de commande? Peut-être qu'un script a besoin d'une intervention lors de l'arrêt du serveur MySQL.
Patrick
entrez la description du lien ici, cela fonctionne pour moi
Minh Thịnh Đặng

Réponses:

6

C'est parce que vous avez eu des problèmes avec les paramètres de fuseau horaire:

J'ai le même problème, j'ai trouvé une explication possible: mon fournisseur de cloud stocke l'heure dans le fuseau horaire local (avant UTC); au démarrage MySQL boot d'abord, puis NTP, qui met à jour l'heure en UTC; par conséquent, MySQL a littéralement "commencé dans le futur" (cela semble intéressant).

La course sudo dpkg-reconfigure tzdatadevrait faire l'affaire

Source: https://bugs.launchpad.net/ubuntu/+source/mysql-5.7/+bug/1600164/comments/11

Titenis
la source
il semble que ce ne soit pas nécessairement un fournisseur de cloud. Dans notre situation, le simple fait de régler l'heure du BIOS à l'avenir, puis d'installer et d'exécuter MySQL, puis de régler l'heure correctement entraînera également le problème. C'est sur une machine complètement déconnectée du réseau et ntp déséquilibrée.
Simon
5

Avant d'arrêter votre système, essayez de l'exécuter pour arrêter manuellement le service mysql.

sudo service mysql stop

Vous pouvez également écrire un script pour automatiser le processus:

sudo service mysql stop
sudo shutdown -h now

Assurez-vous de le marquer comme exécutable. En supposant que vous l'avez enregistré en tant que fichier nommé shutdown, exécutez cette commande:

chmod u+x shutdown

Vous pouvez maintenant exécuter votre script.

./shutdown
user680697
la source
4
Si le serveur MySql se bloque à l'arrêt, il suspendra également la service mysql stopcommande. La bonne approche consiste à rechercher pourquoi le serveur MySql se bloque.
Vitalii
2

Curieusement, cela a fonctionné pour moi:

sudo dpkg-reconfigure tzdata

explication possible: mon fournisseur de cloud stocke l'heure dans le fuseau horaire local (avant UTC); au démarrage MySQL boot d'abord, puis NTP, qui met à jour l'heure en UTC; par conséquent, MySQL a littéralement «commencé dans le futur»

Kira02
la source
1

Installer mysql-clientavec

apt-get install mysql-client

Cela devrait suffire.

Frank Verbeke
la source
0

Cela m'arrive quand j'ai changé le nom d'hôte avec:

$ sudo hostnamectl set-hostname my-new-hostname

sans arrêter le serveur mysql.

Gabriel Glenn
la source
0

Arrêtez le PC en utilisant la commande-sudo init 0 Bien que cela semble stupide mais oui, cela fonctionne. Cela a fonctionné pour moi et même pour vous aussi. En fait, le serveur ne s'arrête pas car il ne bénéficie pas des privilèges super administrateur. La prochaine fois, arrêtez-vous à l'aide de cette commande.

Vikramsingh Kushwaha
la source
0

Si cela aide quelqu'un d'autre, c'est ce qui a résolu le problème pour moi sur Ubuntu 16.04 LTS. A essentiellement retardé le démarrage du service dans le fichier mysql.service sous / lib / systemd / system / I ajouté After=lightdm.serviceet wants=lightdm.service. (Mon lightdm.service est lui-même retardé jusqu'à ce que l'authentification de domaine ait eu lieu) Je suppose que vous pouvez utiliser n'importe quel autre service dont vous savez qu'il démarrera plus tard au démarrage. Ces fichiers de service arrêteront également les services lorsque Ubuntu est arrêté dans l'ordre inverse.

Rob
la source
0

J'ai essayé de courir sudo apt-get install mysql*, et après l'installation terminée, tout semble fonctionner correctement et maintenant ... À la fois en suivant la bonne idée de user680697 et en arrêtant ou en redémarrant à l'aide des capacités de l'interface graphique (je suis sur Ubuntu Mate 16.04).

La tour
la source
0

Il s'agit en fait d'un bogue dans MySQL.

Veuillez consulter le rapport de bogue: https://bugs.mysql.com/bug.php?id=93708

Pour résoudre ce problème, mettez simplement à jour votre MySQL car le correctif est dans cette mise à jour ->

[27 mai 2019 13:25] Daniel Price Fixed à partir de la prochaine version 5.7.27, 8.0.17, et voici l'entrée du journal des modifications:

La modification manuelle de l'heure système pendant que le serveur MySQL était en cours d'exécution a provoqué des retards de thread de nettoyage de page.

crédits à Daniel Price.

Vince Banzon
la source