Le serveur de base de données MySQL effectue une tâche depuis environ 12 heures, alors que je n'ai effectué aucune requête pendant ce temps.
Le processeur ne fait pas d'activité significative mais le disque dur est utilisé à 100% en permanence. Je suppose donc que le serveur effectue un travail de construction d'index, car cela s'est produit après que j'ai inséré environ 3,5 G de données.
Maintenant, je veux arrêter mon serveur de base de données, mais je crains que cela ne corrompe la base de données. Existe-t-il un moyen sûr d'arrêter le serveur ? Ou dois-je attendre que la tâche soit terminée ?
J'ajoute plus de détails pour clarifier et expliquer les nouveaux progrès.
Avant que le problème ne se produise, j'importais un fichier dump dont la taille était d'environ 5,5G. (J'exécutais la commande à partir de Python script.)
Mais comme cela prenait trop de temps, j'ai arrêté le processus Python avant que l'importation ne soit terminée. Après cela, le serveur mysql a effectué la tâche IO pendant plus de 12 heures et il le fait toujours.
Avec les conseils de powerload79, j'ai fait une recherche.
SHOW FULL PROCESSLIST;
+----+-----------------+-----------------+--------+---------+--------+------------------------+-----------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+-----------------+-----------------+--------+---------+--------+------------------------+-----------------------+
| 4 | event_scheduler | localhost | NULL | Daemon | 148754 | Waiting on empty queue | NULL |
| 28 | root | localhost:29209 | bitmex | Sleep | 57594 | | NULL |
| 30 | root | localhost:51361 | bitmex | Query | 0 | starting | SHOW FULL PROCESSLIST |
+----+-----------------+-----------------+--------+---------+--------+------------------------+-----------------------+
3 rows in set (0.00 sec)
Il semblait qu'il n'y avait pas de processus pour faire la tâche IO. J'ai donc essayé d'arrêter le serveur.
Mais le serveur ne s'est pas arrêté et est passé dans un état d'attente d'arrêt. Plus d'une heure s'est écoulée dans cet état. Il y a encore beaucoup d'activité sur le disque dur dans l'état d'attente. Le serveur est hors ligne et je ne peux plus me connecter au serveur depuis le client.
Voici les journaux d'erreurs générés lorsque j'ai essayé d'arrêter le serveur :
2020-03-15T03:15:00.384460Z 0 [System] [MY-013105] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: Normal shutdown.
2020-03-15T03:15:02.386568Z 0 [Warning] [MY-010909] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: Forcing close of thread 28 user: 'root'.
2020-03-15T03:15:02.387218Z 0 [Warning] [MY-010909] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: Forcing close of thread 30 user: 'root'.