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.
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.