Les actions d'insertion et délétion répétées sur une base de données induisent de la fragmentation de données (exactement comme la fragmentation d'un disque dur). Pour y remédier, il faut réaliser à intervalles réguliers des opérations de vérification et de correction des données. MySQL fournit deux utilitaires pour cela, myisamchk, qui nécessite que le serveur mysqld soit arrêté (donc pas très pratique dans le cadre d'une opération de maintenance régulière), et mysqlcheck qui travaille sur un serveur live.
Les principales opérations de maintenance de MySQL peuvent être réalisées avec mysqlcheck :
mysqlcheck --check --all-databases
mysqlcheck --repair --all-databases
mysqlcheck --optimize --all-databases
Il ne reste plus qu'à intégrer ces commandes dans un script batch, et appeler ce dernier nuitamment pour prévenir tout problème de corruption de données.