Il y a quelque temps, j’ai eu la mauvaise surprise de constater qu’un site était hors ligne parce que MySQL refusait catégoriquement de redémarrer.
En regardant les logs du serveur, le message était sans appel :
/etc/init.d/mysql: ERROR: The partition with /var/lib/mysql is too full! failed!Langage du code : JavaScript (javascript)
La partition qui contenait les bases de données était pleine. Et quand MySQL n’a plus assez d’espace pour écrire dans son répertoire de données, ses fichiers temporaires, ses logs, ses redo logs ou ses binlogs, il peut refuser de démarrer, se bloquer, désactiver certains logs ou planter au mauvais moment.
MySQL documente explicitement les erreurs liées au disque plein, comme No space left on device, write failed ou les dépassements de quota. Le manuel MySQL explique que ces conditions peuvent toucher les écritures dans les tables, les fichiers de logs binaires et l’index des binlogs. Voir la documentation MySQL sur les disques pleins.
Voici une procédure moderne pour diagnostiquer et corriger le problème proprement, sans supprimer au hasard des fichiers dans /var/lib/mysql. Parce que supprimer des fichiers InnoDB à la main pour “faire de la place”, c’est rarement une stratégie. C’est plutôt une candidature spontanée à la restauration de backup.
Symptômes d’un MySQL bloqué par manque d’espace disque
Les symptômes peuvent varier selon la version, le moteur de stockage, la distribution et le système d’init. Vous pouvez voir :
- MySQL ou MariaDB refuse de démarrer ;
systemctl start mysqléchoue ;systemctl restart mariadbreste bloqué ;- les sites affichent une erreur de connexion à la base ;
- les logs indiquent
No space left on device; - les binlogs grossissent jusqu’à saturer la partition ;
- les tables temporaires ne peuvent plus être créées ;
- la partition
/,/var,/tmpou/var/lib/mysqlest à 100 % ; - les inodes sont épuisés même s’il reste de l’espace en Go.
Sur les serveurs modernes, l’erreur peut apparaître dans le log MySQL, les logs MariaDB ou le gestionnaire d’hébergement. Plesk documente par exemple des échecs MySQL/MariaDB lorsque la partition racine, la partition /tmp ou les inodes sont saturés. Voir la note Plesk sur MySQL/MariaDB et le manque d’espace.