Réparation de tables MyISAM dans MariaDB

Réparation de tables MyISAM dans MariaDBLe passage de MySQL à MariaDB  n’est pas une franche réussite au point où je me pose des tas de questions sur la fiabilité de MariaDB. Passons. Très régulièrement, de nombreuses tables de mes schémas WordPress sont marquées crashed dans le fichier de logs /var/log/mariadb/mariadb.log sans que j’en comprenne véritablement les raisons. Je dois, à chaque fois les réparer.

L’utilitaire myisamchk

Les erreurs qui peuvent se produire au niveau des bases de données de type MyISAM concernent principalement des incohérences rencontrées entre la table des données et les index qui lui sont associées. Dans ce cadre, il convient alors de réparer et de réindexer les tables, en mode offline (service arrêté) .

Le script présenté ci-dessous est réalisé sur une CentOS 7 où est installée MariaDB 10.0.25-1 à partir des dépôts de l’éditeur de la base de données. Il est exécuté dans l’environnement de l’utilisateur root.

#!/bin/bash
systemctl stop httpd
/etc/init.d/mysql  stop
for DB in dsfc vm
do
    for MYI in $(find /home/mysql/$DB -type f -name *.MYI|cut -d '.' -f 1)
    do
        myisamchk -r $MYI
    done
done
chown mysql:mysql /home/mysql -R
find /home/mysql -type d -exec chmod 777 {} \;
find /home/mysql -type f -exec chmod 666 {} \;
/etc/init.d/mysql start
systemctl start httpd

MariaDB  / Formateur MariaDB Formateur MySQL MariaDB myisamchk MySQL Réindexation Réparation de tables 

Commentaires

J’ai eu de nombreuse fois des problèmes similaires avec le moteur MyISAM avec l’application Piwik. InnoDB est nettement plus robuste car il gère les transaction et garantit qu’un enregistrement est complètement raté/réussi et qu’il ne se trouve pas dans un état « intermédiaire ». Dès que j’ai changé de moteur (suivre tuto sur le net), mes problèmes ont disparus…

@Gabriel

Je suis passé à Aria sous MariaDB et, depuis, je n’ai rencontré aucun problème.

Laisser un commentaire

(requis)

(requis)