Mysql:MyISAM

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Outils MySQL (moteur MyISAM)
Voir aussi Mysql:maintenance · Mysql:tables

MyISAM est un moteur de stockage historique de MySQL, non transactionnel, remplacé par défaut par InnoDB depuis MySQL 5.5. Cette page recense les outils d'administration en ligne de commande spécifiques à MyISAM, à utiliser serveur arrêté (ou tables verrouillées) pour éviter toute corruption.

Syntaxe

myisamchk [options] fichier.MYI
myisampack [options] fichier.MYI
myisam_ftdump table index

Exemples

Vérifier l'intégrité d'une table

myisamchk /var/lib/mysql/nom_base/nom_table.MYI

Réparer une table

myisamchk -r /var/lib/mysql/nom_base/nom_table.MYI

Compresser une table (lecture seule)

myisampack compresse la table, qui devient de fait en lecture seule — utile pour des tables d'archive :

myisampack nom_table.MYI

Reconstruire les index après compression

myisampack --rq --sort-index --analyze nom_table.MYI

Examiner la structure d'une table avant analyse

SHOW CREATE TABLE nom_table\G

Extraire le contenu d'un index fulltext

Le chiffre final est le numéro d'ordre de l'index fulltext à extraire :

myisam_ftdump nom_table 1

⚠️ Toujours arrêter MySQL, ou au minimum verrouiller/vider le cache des tables concernées (voir Mysql:maintenance, FLUSH TABLES WITH READ LOCK), avant de manipuler directement les fichiers .MYI/.MYD avec ces outils : une écriture concurrente du serveur pendant l'opération peut corrompre la table.

Voir aussi

  • Mysql:maintenanceCHECK TABLE, REPAIR TABLE... (équivalents SQL, indépendants du moteur)
  • Mysql:tables — options de structure des tables
  • Mysql — panorama général MySQL/MariaDB