Mysql:maintenance

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Commandes MySQL (maintenance de tables et serveur)
Voir aussi Mysql:MyISAM · Mysql:show

Mysql:maintenance regroupe les commandes de maintenance MySQL/MariaDB : vérification et réparation de tables, commandes serveur (FLUSH, KILL, RESET...), et une requête utile pour connaître la taille des tables.

Maintenance des tables

Commande Rôle
CHECK TABLE Vérifie si une table est corrompue (options : EXTENDED, MEDIUM, CHANGED, FAST, QUICK, FOR UPGRADE)
REPAIR TABLE Répare une table (options : QUICK, EXTENDED, USE_FRM)
CHECKSUM TABLE Calcule une somme de contrôle de la table (options : QUICK, EXTENDED)
ANALYZE TABLE Met à jour les statistiques utilisées par l'optimiseur de requêtes
OPTIMIZE TABLE Défragmente les données et les index
CHECK TABLE nom_table;
REPAIR TABLE nom_table;
OPTIMIZE TABLE nom_table;

Commandes serveur

KILL thread_id;                    -- tue la requête en cours du thread donné
KILL CONNECTION thread_id;         -- tue une connexion précise (voir SHOW PROCESSLIST pour les thread_id)
FLUSH HOSTS;
FLUSH TABLES;
FLUSH STATUS;
FLUSH PRIVILEGES;
FLUSH LOGS;
FLUSH TABLES WITH READ LOCK;       -- verrouille les tables et force l'écriture des buffers MyISAM sur disque
FLUSH QUERY CACHE;
RESET QUERY CACHE;
RESET MASTER;
RESET SLAVE;

FLUSH TABLES WITH READ LOCK est notamment utilisé pour prendre un instantané cohérent avant une sauvegarde à froid (voir Mysqldump).

Le cache de clés (key_buffer) pour les tables MyISAM se configure dans le fichier de configuration MySQL (my.cnf), par exemple :

[mysqld]
nom_cache.key_buffer_size = 64M

Taille des tables

SELECT table_name AS "Table", ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Taille (Mo)"
FROM information_schema.TABLES
WHERE table_schema = 'nom_base';

Voir aussi