Syntaxe de l'utilitaire myisamchk
<<<
Options générales de myisamchk Options de vérifications pour myisamchk
>>>

5.6.2 Utilisation de myisamchk pour la maintenance des tables et leur recouvrement
5.6 Prévention des désastres et restauration
5 Administration du serveur
 Manuel de Référence MySQL 4.1 : Version Française

Syntaxe de l'utilitaire myisamchk
->Options générales de myisamchk
Options de vérifications pour myisamchk
Options de réparation de myisamchk
Autres options de myisamchk
Utilisation de la mémoire par myisamchk
Utiliser myisamchk pour restaurer une table
Comment vérifier la cohérence d'une table
Comment réparer des tables
Optimisation de table

5.6.2.2 Options générales de myisamchk

Les options décrites dans cette section peuvent être utilisées pour toutes les maintenances de tables effectuée myisamchk . Les sections suivant celles-ci décrivent les options spécifiques à certaines opérations, comme la vérification et la réparation.

myisamchk supporte les options suivantes :
    --help, -?
    Affiche le message d'aide, et termine le programme.
    --debug=debug_options, -# debug_options
    Affiche le log de débogage. La chaîne debug_options vaut souvent : 'd:t:o,filename' .
    --silent, -s
    Mode silencieux. Affiche uniquement les erreurs. Vous pouvez utiliser deux fois -s ( -ss ) pour que myisamchk soit très silencieux.
    --verbose, -v
    Mode détaillé. Affiche plus d'informations. Vous pouvez combiner ce mode avec les options -d et -e . Utilisez -v plusieurs fois, ( -vv , -vvv ) pour plus de détails encore.
    --version, -V
    Affiche la version et quitte.
    --wait, -w
    Au lieu de s'arrêter avec une erreur si la table est verrouillé, le programme attend que la table soit libérée avant de continuer. Notez que si vous utilisez mysqld avec l'option --skip-external-locking , la table peut ne peut être verrouillée que par une autre commande myisamchk .
Vous pouvez aussi configurer les variables suivantes avec la syntaxe --var_name=value :
Variable Valeur par défaut
decode_bits 9
ft_max_word_len dépend de la version
ft_min_word_len 4
ft_stopword_file liste par défaut
key_buffer_size 523264
myisam_block_size 1024
read_buffer_size 262136
sort_buffer_size 2097144
sort_key_blocks 16
write_buffer_size 262136
Il est aussi possible de configurer les variables avec les syntaxes --set-variable=var_name=value et -O var_name=value . Toutefois, cette syntaxe est obsolète depuis MySQL 4.0.

Les variables myisamchk possibles et leur valeur par défaut sont affichées par myisamchk --help :

sort_buffer_size sert lors de la réparation des index par tri des clés, qui est le mode utilisé par l'option --recover .

key_buffer_size sert lorsque vous vérifiez une table avec l'option --extend-check ou lorsque les clés sont réparées par insertion de lignes dans la table (comme lors des insertions normales). La réparation par buffer de clés est utilisée dans ces situations :

  • Vous utiliez l'option --safe-recover .
  • Les fichiers temporaires utilisés pour trier les clés seraient deux fois plus gros que lors de la création directe du fichier. C'est souvent le cas lorsque vous avez de grandes clés pour les colonnes CHAR , VARCHAR et TEXT , car l'opération de trie a besoin de stocker la clé complète. Si vous avez beaucoup d'espace temporaire, vous pouvez forcer myisamchk à réparer en triant, en utilisant l'option --sort-recover .

La répartion par buffer de clé prend beaucoup moins d'espace disque, mais est bien plus lente.

Si vous voulez une réparation plus rapide, donnez à key_buffer_size et sort_buffer_size des valeurs représentant 25% de votre mémoire. Vous pouvez leur donner de grandes valeurs, car une seule des deux variables est utilisée.

myisam_block_size est la taille des blocs d'index. Elle est disponible depuis MySQL 4.0.0.

Les variables ft_min_word_len et ft_max_word_len sont disponibles depuis MySQL 4.0.0. ft_stopword_file est disponible depuis MySQL 4.0.19.

ft_min_word_len et ft_max_word_len indique la taille minimum et maximum pour les index FULLTEXT . ft_stopword_file est le nom du fichier de mots ignorés. Ils doivent toujours être configurés.

Si vous utilisez myisamchk pour faire une opération qui modifie les index de tables (comme la répartion ou l'analyse), les index FULLTEXT sont reconstruit en utilisant les valeurs par défaut pour les tailles minimales et maximales, et pour le fichier de mots ignorés. Cela peut conduire à l'échec de requêtes.

Le problème survient lorsque ces paramètre ne sont connus que par le serveur. Elles ne sont pas stockées dans le fichier d'index MyISAM . Pour éviter ce problème si vous avez modifié la taille des mots ou le fichier de mots ignorés dans le serveur, pensez à spécifier les mêmes valeurs avec les options ft_min_word_len , ft_max_word_len et ft_stopword_file de myisamchk . Par exemple, si vous avez configuré une taille minimale de 3, vous pourrez réparer la table avec myisamchk comme ceci :


shell> myisamchk --recover --ft_min_word_len=3 tbl_name.MYI
Pour vous assurer que myisamchk et le serveur utilisent les mêmes valeurs pour les paramètres des index en texte plein, vous pouvez placez ces valeurs dans les groupes [mysqld] et [myisamchk] du fichier d'options :

[mysqld]
ft_min_word_len=3

[myisamchk]
ft_min_word_len=3
Une alternative à l'utilisation de myisamchk est les commandes REPAIR TABLE , ANALYZE TABLE , OPTIMIZE TABLE et ALTER TABLE . Ces commandes sont effectuées par le serveur, qui sait comment traiter les paramétrages des index.

<< Options générales de myisamchk >>
Syntaxe de l'utilitaire myisamchk Utilisation de myisamchk pour la maintenance des tables et leur recouvrement Options de vérifications pour myisamchk