
MySQLTuner est l’un des utilitaires en ligne de commande open-source les plus fiables pour l’audit et l’optimisation des serveurs de bases de données. Écrit en Perl, sa simplicité, sa conception sans dépendance externe (par défaut) et ses conseils directement exploitables en ont fait un outil incontournable pour les administrateurs de bases de données (DBA), les ingénieurs DevOps et les administrateurs système du monde entier.
Au cours des trois derniers mois, MySQLTuner a bénéficié d’une importante vague de mises à jour, aboutissant à la version v2.8.44 le 27 mai 2026. Cet article propose une analyse approfondie des nouvelles fonctionnalités majeures, des corrections de bogues et des améliorations de performances qui ont façonné cette série de versions (v2.8.41 à v2.8.44).

1. Rapports HTML sans aucune dépendance externe
Pendant longtemps, la génération de rapports de laboratoire structurés en HTML nécessitait l’installation du module CPAN Text::Template. Dans la version v2.8.44, les développeurs ont entièrement réimplémenté l’option de rapport HTML (--reportfile), éliminant complètement cette dépendance CPAN.
Cela signifie que vous pouvez désormais générer de magnifiques rapports de laboratoire HTML directement, même sur des systèmes minimaux ou nouvellement provisionnés qui n’ont pas d’accès Internet ou sur lesquels CPAN n’est pas configuré. Ce changement restaure la philosophie fondamentale de MySQLTuner : une autonomie totale, sans dépendance, sous la forme d’un fichier unique.
2. Contrôles avancés pour les dumps de schémas et de données
La version v2.8.43 a introduit un ensemble de fonctionnalités avancées pour gérer les exports de données et de schémas (--dumpdir), conçues pour offrir aux DBA un contrôle granulaire et optimiser l’utilisation de l’espace disque :
- Compression des schémas (
--compress-dump) : Vous pouvez désormais compresser les dumps de schémas SQL directement au formatgzip. C’est un atout précieux pour les sauvegardes de schémas volumineux, réduisant considérablement la taille des fichiers générés. - Limitation des lignes exportées (
--dump-limit) : Pour éviter que de grandes tables CSV ne saturent le disque, cette option limite le nombre de lignes extraites lors des exports CSV. - Export des écarts de conformité : Les écarts par rapport aux conventions de nommage et les clés étrangères manquantes peuvent désormais être exportés directement dans des fichiers CSV. De plus, un fichier manifeste d’export est automatiquement créé pour suivre tous les fichiers exportés.
- Optimisation des exports cloud : L’option
--dumpdira été optimisée pour exclure les métriques internes lourdes des bases de données Amazon RDS et Aurora, garantissant que les environnements cloud exportent les données rapidement sans épuiser les ressources du serveur.
3. Unités de mémoire lisibles et optimisation basée sur le CPU
Les configurations par défaut et la gestion du matériel ont été améliorées pour simplifier l’utilisation quotidienne :
- Unités de taille flexibles : Lors de la surcharge des métriques matérielles avec les options
--forcememet--forceswap, vous n’êtes plus limité aux octets bruts. Vous pouvez désormais utiliser les suffixes standardisés (B,K,M,G,T,P). Il est ainsi possible d’écrire naturellement des commandes comme--forcemem 16Gou--forceswap 4G. - Optimisation du cache selon le CPU : Une nouvelle recommandation de réglage a été ajoutée pour
table_open_cache_instances. Le script analyse le nombre de cœurs de processeur (CPU) du système et suggère le nombre idéal d’instances de cache afin de réduire les verrous et de maximiser les performances dans les environnements à forte concurrence.
4. Compatibilité avec les conteneurs et les OS modernes
À mesure que les environnements conteneurisés et les moteurs de bases de données évoluent, MySQLTuner s’adaptte en permanence :
- Compatibilité avec les conteneurs MySQL 9.x : Les versions précédentes rencontraient des erreurs d’exécution SQL (code retour 256) lors de l’audit de MySQL 9.x dans Docker ou Kubernetes. La version v2.8.41 a résolu ce problème en affinant la gestion des indicateurs d’exécution par lots (batch execution flags) lors du routage des commandes.
- Détection améliorée des journaux d’erreurs : L’analyse des journaux d’erreurs a été renforcée par une meilleure détection des journaux syslog et systemd, ce qui est crucial pour les installations Linux modernes n’utilisant pas de fichiers plats pour les logs.
- Compatibilité Perl : La compatibilité avec les anciennes versions de Perl a été rétablie, permettant d’exécuter le script en toute sécurité sur des distributions d’entreprise plus anciennes (comme les anciennes versions de Red Hat/CentOS/Debian).
5. Résumé des dernières versions (mars – mai 2026)
| Version | Date de sortie | Faits marquants |
|---|---|---|
| v2.8.44 | 27 mai 2026 | Vérification des dates de fin de vie (EOL) dans la CI ; matrice de correspondance spécifications-tests ; rapports HTML autonomes sans dépendances ; corrections de bogues sur les variables non initialisées. |
| v2.8.43 | 25 mai 2026 | Compression SQL (gzip) ; limites de lignes pour les exports CSV ; export des écarts de nommage et clés étrangères manquantes ; score de santé unifié. |
| v2.8.42 | 17 mai 2026 | Extraction de la documentation et nettoyage des métadonnées (RULES.md, MEMORY_DB.md, TESTS.md). |
| v2.8.41 | 17 mai 2026 | Unités de mémoire lisibles ; support des conteneurs MySQL 9.x ; recommandation de table_open_cache_instances. |
Conclusion
Le développement de ces trois derniers mois démontre que MySQLTuner ne se contente pas de maintenir son héritage, mais se modernise pour l’ère du cloud et des conteneurs. Que vous exécutiez MySQL 9.x dans un conteneur, que vous adaptiez la configuration mémoire de votre machine ou que vous exportiez des schémas compressés, la version v2.8.44 vous garantit d’obtenir des recommandations d’optimisation précises, sûres et rapides.
Si vous n’avez pas mis à jour votre script local mysqltuner.pl récemment, c’est le moment idéal pour télécharger la version v2.8.44 et auditer la santé de vos bases de données.