How to Troubleshooting
KB N°2563

Diagnostic et réparation des bases MySQL

Version: V.5.x
Publié le mercredi 31 juillet 2013
Modifié le vendredi 5 avril 2019

Le serveur Olfeo remonte une erreur de type : "Table './olfeo_stats5/nom_de_la_table' is marked as crashed and should be repaired"

Symptôme

Le serveur Olfeo remonte une erreur de type :

"Table './olfeo_stats5/nom_de_la_table' is marked as crashed and should be repaired"

Contexte

Olfeo utilise deux bases, olfeo_db5 (la configuration) et olfeo_stats5 (les données statistiques), qui se trouvent dans /var/lib/mysql/.

Il existe deux méthodes pour réparer une table :

  • Se connecter à la base puis à exécuter la commande REPAIR TABLE nom_de_la_table
  • Exécuter la commande myisamchk sur les tables MyISAM (extensions .MYI et .MYD).

Étapes

Taper les commandes suivantes dans le chroot si le serveur n'est pas une Olfeo box. Voici la commande à exécuter pour se connecter au chroot :

root@olfeo:~# chroot /opt/olfeo5/chroot/

Vérification des bases SQL

Il est primordial d'arrêter le service mysql avant d'utiliser la commande myisamchk :

/etc/init.d/mysql stop

Vérifier ensuite l’intégrité des deux bases en tapant les commandes suivantes :

myisamchk -c /var/lib/mysql/olfeo_db5/*.MYI
myisamchk -c /var/lib/mysql/olfeo_stats5/*.MYI

L’option -c (check) déclenche la vérification.

Pour vérifier une table :

myisamchk -c /var/lib/mysql/olfeo_db5/nom_de_la_table.MYI
myisamchk -c /var/lib/mysql/olfeo_stats5/nom_de_la_table.MYI

Exemple avec la table timespent_agg :

myisamchk -c /var/lib/mysql/olfeo_stats5/timespent_agg.MYI

Il faut lancer une réparation si la commande myisamchk -c retourne une ou plusieurs erreurs, telles que:

MyISAM-table '/var/lib/mysql/olfeo_db5/config.MYI' is corrupted Fix it using switch "-r" or "-o"

Réparation des tables SQL

Voici la commande à exécuter pour réparer une table SQL :

myisamchk -r /var/lib/mysql/olfeo_db5/nom_de_la_table.MYI
  • Exemple : réparation des tables config et timespent_agg.
    myisamchk -r /var/lib/mysql/olfeo_db5/config.MYI
    myisamchk -r /var/lib/mysql/olfeo_stats5/timespent_agg.MYI
  • Exemple : réparation de toutes les tables.
    myisamchk -r /var/lib/mysql/olfeo_db5/*.MYI
    myisamchk -r /var/lib/mysql/olfeo_stats5/*.MYI

L’option de réparation -r (recover) étant la moins agressive, il se peut que les commandes de réparation suggèrent une réparation plus approfondie en utilisant l’option -o (safe-recover) :

myisamchk -o /var/lib/mysql/olfeo_db5/*.MYI

Il est possible que le serveur demande de forcer la réparation avec l'option -f(--force) si le safe-recover ne suffit pas.

Une fois la réparation des tables effectuées, redémarrer le service MySQL :

/etc/init.d/mysql start

Validation

Une fois la réparation et le redémarrage de la base effectués, vérifier l'état des services en ligne de commande en exécutant le script olfeo-status.sh :

/olfeo-status.sh

Vérifier ensuite l'accès à l'interface d'administration et le filtrage d'URL (analyse des statistiques en temps réel).

Avez-vous trouvé cet article utile ?
Revenir à la liste des articles
En visitant ce site, vous acceptez l'utilisation de cookies. Nous utilisons des cookies pour améliorer votre navigation sur notre site. En savoir plus.Ok