🗄️ Bases de données

mysql-tuner

Optimisation MySQL/MariaDB incluant slow query log, stratégie d'index, tuning InnoDB et réplication.

⚡ Installation & lancement en 1 commande

Copiez-collez dans votre terminal : le skill s'installe dans ~/.claude/skills et Claude Code se lance directement dessus.

macOS / Linux
curl -fsSL https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.sh | sh -s -- mysql-tuner --launch
Windows (PowerShell)
iex "& { $(iwr -useb https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.ps1) } mysql-tuner -Launch"

🚀 Déjà installé ?

claude "/mysql-tuner"

Ou tapez /mysql-tuner dans une session Claude Code, ou décrivez simplement votre besoin — le skill se déclenche automatiquement via le skill-router.

🔑 Déclencheurs automatiques

Le skill s'active automatiquement quand votre demande contient :

MySQLMariaDBslow queryInnoDBMySQL tuning

📦 Installation manuelle

git clone https://github.com/khalilbenaz/claude-skills-collection.git cp -r claude-skills-collection/database-skills/mysql-tuner ~/.claude/skills/

Source : database-skills/mysql-tuner

📖 Manuel

MySQL Tuner

Workflow

  1. Analyser les slow queries — Activer et examiner le slow query log (long_query_time, log_slow_extra). Utiliser pt-query-digest ou mysqldumpslow pour identifier les requêtes les plus coûteuses par fréquence, durée et rows examined.
  2. Auditer les index existants — Exécuter EXPLAIN ANALYZE sur les requêtes problématiques. Identifier les full table scans, les filesort et les temporary tables. Vérifier les index inutilisés avec sys.schema_unused_indexes.
  3. Concevoir une stratégie d'indexation — Créer des index composites en respectant la règle du leftmost prefix. Évaluer les covering indexes pour les requêtes fréquentes. Utiliser pt-index-usage pour valider l'utilité de chaque index.
  4. Tuner les paramètres InnoDB — Ajuster innodb_buffer_pool_size (70-80% de la RAM disponible), innodb_log_file_size, innodb_flush_log_at_trx_commit, innodb_io_capacity en fonction du profil de charge (lecture vs écriture).
  5. Optimiser la configuration serveur — Configurer max_connections, thread_cache_size, table_open_cache, query_cache (désactivé en MySQL 8+). Ajuster tmp_table_size et max_heap_table_size pour réduire les tables temporaires sur disque.
  6. Configurer la réplication — Mettre en place la réplication source-replica (GTID-based). Configurer semi-synchronous replication pour la durabilité. Distribuer les lectures sur les replicas avec ProxySQL ou MySQL Router.
  7. Mettre en place le monitoring — Déployer des métriques avec Percona Monitoring and Management (PMM) ou Prometheus + mysqld_exporter. Surveiller les indicateurs clés : QPS, threads running, buffer pool hit ratio, replication lag.
  8. Planifier la maintenance — Configurer OPTIMIZE TABLE pour les tables fragmentées, ANALYZE TABLE pour les statistiques d'index. Planifier les purges de données anciennes avec partitionnement ou archivage automatisé.

Règles