myisamchk s'exécute avec une commande de
          la forme :
        
shell> myisamchk [options] tbl_name
          Les options spécifient ce que vous voulez
          que myisamchk fasse. Elles sont décrites
          dans ce chapitre. Vous pouvez aussi obtenir une liste
          d'options en invoquant le programme avec myisamchk
          --help. Sans option, myisamchk va
          simplement vérifier les tables. Pour obtenir plus
          d'information ou pour demander à myisamchk
          de prendre des mesures correctives, il faut ajouter l'une des
          options listées ici.
        
          tbl_name est la table que vous voulez
          réparer ou vérifier. Si vous exécutez
          myisamchk autre part que dans le dossier de
          données, vous devez spécifier le chemin jusqu'au fichier,
          car sinon, myisamchk n'aura aucune idée
          d'où chercher les données dans votre base. En fait,
          myisamchk ne se préoccupe pas du fait que
          le fichier que vous utilisez est dans le dossier de base ou
          pas : vous pouvez copier le fichier à réparer dans un autre
          dossier, et y faire les opérations d'entretien.
        
          Vous pouvez spécifier plusieurs noms de tables à
          myisamchk si vous le voulez. Vous pouvez
          aussi spécifier un nom sous la forme d'un fichier d'index
          (avec l'option .MYI), qui vous permettra
          de spécifier toutes les tables dans un dossier en utilisant
          le schéma *.MYI. Par exemple, si vous
          êtes dans le dossier de données, vous pouvez spécifier
          toutes les tables dans le dossier comme ceci :
        
shell> myisamchk *.MYI
Si vous n'êtes pas dans le dossier de données, et que vous souhaitez vérifier toutes les tables, vous devez ajouter le chemin jusqu'au dossier :
shell> myisamchk /path/to/database_dir/*.MYI
Vous pouvez même vérifier toutes les tables de toutes les bases avec le chemin suivant :
shell> myisamchk /path/to/datadir/*/*.MYI
La méthode recommandée pour vérifier rapidement toutes les tables est :
myisamchk --silent --fast /path/to/datadir/*/*.MYI isamchk --silent /path/to/datadir/*/*.ISM
Si vous voulez vérifier toutes les tables et réparer celles qui sont corrompues, vous pouvez utiliser la ligne suivante :
myisamchk --silent --force --fast --update-state -O key_buffer=64M \
          -O sort_buffer=64M -O read_buffer=1M -O write_buffer=1M \
          /path/to/datadir/*/*.MYI
isamchk --silent --force -O key_buffer=64M -O sort_buffer=64M \
        -O read_buffer=1M -O write_buffer=1M /path/to/datadir/*/*.ISM
          Ces commandes ci-dessus supposent que vous avez plus de 64 Mo
          de libres. Pour plus d'informations sur l'allocation de
          mémoire avec myisamchk, voyez la section
          Section 5.7.3.6, « Utilisation de la mémoire par myisamchk ».
        
Notez que si vous obtenez une erreur comme celle-ci :
myisamchk: warning: 1 clients is using or hasn't closed the table properly
          Cela signifie que vous essayez de vérifier une table qui a
          été modifiée par un autre programme (comme le serveur
          mysqld) qui n'a pas encore refermé le
          fichier de table, ou que le fichier n'a pas été correctement
          refermé.
        
          Si mysqld fonctionne, vous devez forcer la
          fermeture correcte des fichiers de tables avec la commande
          FLUSH TABLES, et vous assurer que personne
          n'utilise les tables durant vos opérations avec
          myisamchk. En MySQL version 3.23, la
          meilleure méthode pour éviter ce problème est d'utiliser la
          commande CHECK TABLE au lieu de
          myisamchk pour vérifier les tables.
        
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.
