Réparation Mysql en masse
Comment réparer ses tables Mysql sans avoir à interrompre le service.
Contexte
Il arrive que les bases Mysql se corrompent, pour réparer nous avons 2 solutions :
La première solution permet de tout réparer d’un coup mais nécessite d’arrêter le service mysql le temps de la maintenance.
La seconde solution ne coupe pas le service mais ne permet de réparer qu’une table à la fois.
L’idée est de pouvoir faire une réparation massive via la commande </REPAIR
et en s’appuyant sur le courriel d’alerte généré par mysql.
Le mail d’alerte
Si votre serveur est correctement configuré, mysql devrait vous informer par mail des tables endommagées.
Réparation
La commande REPAIR
est simple à manipuler.
- se connecter à mysql
- se connecter à la bonne base
- lancer la réparation de la table
Pour réparer une table, cela est parfait mais si on a une palanquée de tables corrompues cela sera fastidieux.
Une solution
La solution que j’ai trouvé est certes tordue mais fonctionne.
- Importer le mail dans un tableau
- utiliser le
:
comme séparateur - Ajouter une colonne
A
- coller le code suivant :
- copier la colonne dans un éditeur lambda, et supprimer toutes les lignes inutiles en trop tel que
#VALEUR!
Et voilà, vous avez alors un code SQL propre que vous pouvez directement coller dans votre console.
Messages
1. Réparation Mysql en masse, 17 mai 2009, 01:45, par neofutur
efectivement tu es peut etre alle chercher un peu loin . . .
mysqlcheck is available in MySQL 3.23.38 and later.