Vérifier et réparer les tables - MySQL

De UnixManiax
Révision datée du 16 septembre 2013 à 14:34 par AdminWiki (discussion | contributions) (Page créée avec « Category:MySQL Il arrive, malheureusement, suite à un crash du serveur ou simplement par manque de bol, qu'une ou plusieurs tables cassent. Souvant, on est averti pa... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche


Il arrive, malheureusement, suite à un crash du serveur ou simplement par manque de bol, qu'une ou plusieurs tables cassent. Souvant, on est averti par l'application qui utilise la base. Parfois l'appli indique clairement quelle table est cassée, mais parfois il faut les vérifier toutes soit-même.

Il existe une fonction "check table" et une fonction "repair table" qui peuvent nous sauver la vie. Pour s'en servir, il faut d'abord se connecter à la base, comme dans l'exemple suivant :

$ mysql 			
mysql> use ma_base; 			
mysql> show tables; 			
mysql> check table ma_table_1; 			
mysql> repair table ma_table_1; 			
mysql> check table ma_table_2; 			
mysql> repair table ma_table_2; 			
mysql> quit;

Pour ceux qui savent faire, on peut également faire des SELECT en langage SQL pour récupérer le nom de toutes les tables, et les réparer toutes en une seule commande. Je ne sais pas le faire, mais si quelqu'un veut m'envoyer la solution, je la mettrai volontier en ligne. Smiley-clin-oeil.png