Maison  >  Article  >  base de données  >  Qu'arrive-t-il à MySQL lorsque l'espace disque est plein ?

Qu'arrive-t-il à MySQL lorsque l'espace disque est plein ?

黄舟
黄舟original
2017-02-22 11:04:011512parcourir


Introduction

Qu'arrivera-t-il à MySQL lorsque l'espace disque sera plein ? Comment devons-nous réagir ?

Que se passera-t-il

Lorsque l'espace disque est plein, MySQL ne peut plus écrire de données, y compris l'écriture de données de table, ainsi que binlog, binlog. -index et autres fichiers.

Bien sûr, comme InnoDB peut d'abord stocker des données sales en mémoire, il n'affichera pas immédiatement qu'elles ne peuvent pas être écrites. À moins que binlog ne soit activé, la demande d'écriture sera bloquée.

Lorsque MySQL détecte que l'espace disque est plein, il :

Que faire

Ensuite, que devons-nous faire lorsque nous constatons que l'espace disque est plein ? Suggestions :

  • Chaque minute : vérifiez si de l'espace a été libéré afin que de nouvelles données puissent être écrites. Lorsqu'il s'avère qu'il reste de l'espace, les données continueront à être écrites et tout continuera comme d'habitude.

  • Toutes les dix minutes : s'il s'avère toujours qu'il n'y a plus d'espace restant, un enregistrement sera écrit dans le journal pour signaler que l'espace disque est plein (en écrivant seulement quelques octets c'est suffisant pour le moment).

  • Augmenter la fréquence de détection du système de surveillance pour éviter les récidives

  • Supprimer les fichiers inutilisés en temps opportun pour libérer de l'espace ; >

  • Si un thread est bloqué en raison d'un disque plein, vous pouvez d'abord le tuer, et il pourra peut-être à nouveau fonctionner normalement lors d'une nouvelle vérification la minute suivante

  • Peut-être Parce que le disque est plein, certains threads sont bloqués, provoquant le blocage d'autres threads. Vous pouvez tuer le thread bloquant et d'autres threads bloqués peuvent continuer à fonctionner.
  • Exceptions

Il existe une exception :

Lors de l'exécution de l'opération REPAIR TABLE ou OPTIMIZE TABLE, ou après l'exécution de LOAD DATA INFILE ou ALTER Lors de la mise à jour du index par lots après TABLE, ces opérations créeront des fichiers temporaires lors de l'exécution de ces opérations, mysqld constatera que l'espace disque est plein, marquera la table impliquée comme plantée et supprimera les fichiers temporaires (sauf pour les opérations ALTER TABLE, MySQL L'opération. en cours d'exécution seront abandonnés, les fichiers temporaires seront supprimés et l'espace disque sera libéré).

Remarque : Si le processus mysqld est accidentellement tué lors de l'exécution de ces commandes, les fichiers temporaires générés ne seront pas automatiquement supprimés et devront être supprimés manuellement pour libérer de l'espace disque.

Ce qui précède est ce qui arrivera à MySQL lorsque l'espace disque est plein. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn