Le moteur de tables MyISAM
<<<
Tables MyISAM corrompues Des clients utilisent la table, ou bien elle n'a pas été fermée correctement
>>>

15.1.4 Problèmes avec les tables MyISAM
15.1 Le moteur de tables MyISAM
15 Types de tables MySQL
 Manuel de Référence MySQL 4.1 : Version Française

->Tables MyISAM corrompues
Des clients utilisent la table, ou bien elle n'a pas été fermée correctement

15.1.4.1 Tables MyISAM corrompues

Même si le format des tables MyISAM est relativement sûr (tous les changements sont écrits avant que la requête SQL ne retourne quoi que ce soit), vous pouvez quand même vous trouver face à des tables corrompues si l'une des choses suivantes arrive :

  • Le processus mysqld est tué au milieu d'une écriture.
  • Arrêt inattendu de la machine (par exemple, coupure de courant).
  • Un problème matériel.
  • Vous utilisez un programme externe (comme myisamchk) sur une table active.
  • Un bogue logiciel dans le code de MySQL ou de MyISAM.
Les symptômes typiques d'une table corrompue sont :
  • Vous obtenez l'erreur
    
    Incorrect key file for table: '...'. Try to repair it
    
    pendant la sélection de données à partir de cette table.
  • Les requêtes ne trouvent pas de lignes dans la table ou retournent des données incomplètes.

Vous pouvez réparer une table corrompue avec REPAIR TABLE . Vous pouvez aussi réparer une table, lorsque mysqld ne fonctionne pas, avec la commande myisamchk . Lorsque mysqld est arrêté, vous pouvez vérifier une table avec la commande myisamchk . Voyez la section Syntaxe de CHECK TABLE , Syntaxe de REPAIR TABLE et Syntaxe d'invocation de myisamchk .

Si vos tables sont souvent corrompues, vous devez essayez de trouver d'où vient le problème ! Dans ce cas, la chose la plus importante à savoir est, si la table est corrompue, si le serveur mysqld s'est interrompu. (cela peut être facilement vérifié en regardant s'il y a une entrée récente restarted mysqld dans le fichier d'erreurs de mysqld). Si ce n'est pas le cas, vous devez essayer d'effectuer une série de tests. Voyez Que faire si MySQL crashe constamment et Faire une batterie de tests lorsque vous faites face à un problème de table corrompue .

<< Tables MyISAM corrompues >>
Le moteur de tables MyISAM Problèmes avec les tables MyISAM Des clients utilisent la table, ou bien elle n'a pas été fermée correctement