Le message d’erreur “MySQL server has gone away” dans Matomo (anciennement Piwik) signifie que la connexion à la base de données a été interrompue ou a expiré. Voici quelques pistes pour résoudre le problème :
1. Vérifier la configuration MySQL
Les paramètres MySQL peuvent être trop restrictifs, ce qui entraîne des déconnexions intempestives. Essayez d’augmenter les valeurs suivantes dans votre fichier my.cnf (ou my.ini si vous êtes sous Windows) :
ini
CopyEdit
[mysqld]
max_allowed_packet=256M
wait_timeout=28800
interactive_timeout=28800
connect_timeout=28800
- max_allowed_packet : Augmente la taille maximale des paquets que MySQL peut traiter.
- wait_timeout / interactive_timeout : Augmente le temps avant qu’une connexion MySQL inactive soit fermée.
- connect_timeout : Augmente le temps avant qu’une tentative de connexion échoue.
Après modification, redémarrez MySQL :
bash
CopyEdit
sudo systemctl restart mysql
2. Vérifier l’état de la base de données
Connectez-vous à MySQL et vérifiez s’il y a des erreurs :
sql
CopyEdit
SHOW GLOBAL STATUS LIKE 'Aborted%';
SHOW GLOBAL STATUS LIKE 'Connections';
SHOW GLOBAL STATUS LIKE 'Threads_connected';
Si Aborted_connects est élevé, cela signifie que votre serveur ferme trop de connexions, ce qui peut expliquer votre problème.
3. Vérifier l’espace disque et la mémoire disponible
Si votre serveur manque de mémoire ou d’espace disque, MySQL peut planter. Vérifiez avec :
bash
CopyEdit
df -h # Vérifier l’espace disque
free -m # Vérifier la mémoire disponible
Si votre RAM est trop basse, essayez d’augmenter le swap.
4. Exécuter un diagnostic et réparer la base de données
Dans MySQL, lancez :
sql
CopyEdit
CHECK TABLE matomo_log_visit, matomo_log_link_visit_action, matomo_archive_blob_2025_03;
REPAIR TABLE matomo_log_visit, matomo_log_link_visit_action, matomo_archive_blob_2025_03;
Cela va réparer les tables corrompues si besoin.
5. Activer le mode Debug de Matomo
Ajoutez ceci à votre config.ini.php dans Matomo :
ini
CopyEdit
[General]
enable_debug_mode = 1
log_level = DEBUG
Puis regardez les logs d’erreur dans :
bash
CopyEdit
tail -f /var/www/html/matomo/tmp/logs/matomo.log
Cela peut donner des indices sur l’origine du problème.
6. Vérifier les logs de MySQL
Regardez les logs de MySQL pour voir pourquoi la connexion est fermée :
bash
CopyEdit
sudo journalctl -u mysql --since "10 minutes ago"
sudo tail -f /var/log/mysql/error.log
Si vous voyez des erreurs “Out of memory” ou “Too many connections”, il faudra ajuster la configuration.
Conclusion
Essayez ces solutions une par une. Si le problème persiste, il faudra peut-être optimiser la base de données ou migrer vers un serveur plus puissant.
Si vous avez des résultats d’erreur spécifiques après ces vérifications, n’hésitez pas à me les partager. 