11 votes

Pourquoi les tables doivent-elles être réparées ?

De temps en temps, je reçois un message d'erreur indiquant que l'une de mes tables "est marquée comme plantée et doit être réparée". Je fais alors un REPAIR TABLE et le répare. Qu'est-ce qui fait que ces tables sont marquées comme étant en panne et comment puis-je l'éviter ? J'utilise des tables MyISAM avec MySQL 5.0.45.

6voto

Harrison Fisk Points 3867

Il peut y avoir plusieurs raisons pour lesquelles les tables sont corrompues, cela est discuté en détail dans la section manuel .

Pour le combattre, les mesures suivantes sont les plus efficaces :

  1. Assurez-vous que vous avez toujours fermé MySQL correctement
  2. Pensez à utiliser l'option --myisam-recover pour vérifier/réparer automatiquement vos tables dans le cas où la fermeture n'a pas été faite correctement.
  3. Assurez-vous que vous disposez des versions les plus récentes, car les bogues de corruption connus sont normalement corrigés dès que possible.
  4. Vérifiez votre matériel à l'aide d'un test pour voir s'il pose des problèmes. Des outils comme sysbench et memtest86 peut souvent aider à vérifier si les choses fonctionnent comme elles le devraient.
  5. Assurez-vous que rien ne touche le répertoire de données de l'extérieur, comme les antivirus, les programmes de sauvegarde, etc...

3voto

DGM Points 14007

En général, cela se produit lorsque la base de données n'est pas fermée correctement, par exemple en cas de panne du système ou de problème matériel.

3voto

rasputin Points 99

J'avais l'habitude de recevoir des erreurs de mysql tout comme vous.

J'ai résolu mes problèmes de la manière suivante

  1. Convertir toutes les tables myisam en InnoDB (vous pouvez chercher "myisam vs InnoDB" dans stackoverflow.com et les moteurs de recherche pour savoir pourquoi).
  2. Pour obtenir les meilleures performances de MySQL, utilisez un programme tiers MONyog (MySQL Monitor and Advisor) et vérifiez les conseils de performance.

Ces deux étapes m'ont sauvé. J'espère qu'elles vous aideront aussi beaucoup.

0voto

Shinhan Points 1417

Ça peut être beaucoup de choses, mais Blog sur les performances de MySQL mentionne une mauvaise mémoire, des bogues du système d'exploitation ou de MySQL qui pourraient causer une corruption cachée. Aussi, que et un autre article mentionne plusieurs choses à garder à l'esprit lors de la récupération d'un crash.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X