Las opciones descritas en esta sección pueden utilizarse para cualquier tipo de operación de mantenimiento de tabla realizada por myisamchk. Las secciones que siguen a la presente explican las opciones que pertenecen tan solo a operaciones específicas, como la comprobación o reparación de tablas.
--help, -?
Muestra un mensaje de ayuda y finaliza.
--debug=
debug_options
,
-# debug_options
Escribe un registro de depuración. La cadena
debug_options
suele ser
frecuentemente
'd:t:o,
.
file_name
'
--silent, -s
Modo silencioso. Escribe solo cuando ocurre algún tipo de
error. Puede usar -s
dos veces
(-ss
) para hacer que
myisamchk sea muy silencioso.
--verbose, -v
Modo explícito. Imprime más información. Esto puede ser
utilizado en conjunción con -d
y
-e
. Utilice -v
múltiples veces (-vv
,
-vvv
) para producir aún más
información.
--version, -V
Muestra información sobre la versión y finaliza.
--wait, -w
En vez de terminar con un error si la tabla se encuentra
bloqueada, espera a que la tabla se desbloquee antes de
continuar. Tenga en cuenta que si está ejecutando
mysqld con la opción
--skip-external-locking
, la tabla sólo
puede haber sido bloqueada por otro comando
myisamchk.
También puede establecer las variables utilizando
--
opciones:
var_name
=value
Variable | Valor por defecto |
decode_bits |
9 |
ft_max_word_len |
dependiente-de-versión |
ft_min_word_len |
4 |
ft_stopword_file |
lista interna |
key_buffer_size |
523264 |
myisam_block_size |
1024 |
read_buffer_size |
262136 |
sort_buffer_size |
2097144 |
sort_key_blocks |
16 |
write_buffer_size |
262136 |
Las posibles variables de myisamchk y sus valores por defecto pueden ser examinadas con myisamchk --help:
sort_buffer_size
se utiliza cuando las
claves son reparadas mediante ordenación, que es el caso
normal cuando se utiliza --recover
.
key_buffer_size
se utiliza cuando se está
comprobando una tabla con --extend-check
o
cuando las claves se están reparando insertándolas registro
a registro en la tabla (como cuando se hacen inserciones
normales). La reparación a través del "key buffer" se
utiliza en los siguientes casos:
Ha utilizado --safe-recover
.
Los archivos temporales necesarios para ordenar las claves
serían más del doble de grandes que cuando se crea el
archivo de claves directmaente. Esto ocurre usualmente
cuando hay valores grandes en la clave (tipos de columna
como CHAR
, VARCHAR
,
o TEXT
), porque la operación de
ordenamiento necesita almacenar los valores de las claves
por completo mientras procede. Si tiene mucho espacio
temporal y puede forzar a que myisamchk
repare mediante ordenación, puede utilizar la opción
--sort-recover
.
La reparación mediante el "key buffer" necesita mucho menos espacio de disco que utilizar ordenación, pero es también mucho más lenta.
Si quiere una reparación más rápida, establezca las
variables key_buffer_size
y
sort_buffer_size
a un valor aproximadamente
dle 25% de la memoria disponible. Puede subir ambas variables
a un valor grande, porque solo se utiliza una de ellas a la
vez.
myisam_block_size
es el tamaño utilizado
para los bloques de índices.
ft_min_word_len
y
ft_max_word_len
indican la longitud de
palabra mínima y máxima para índices
FULLTEXT
.
ft_stopword_file
indica un archivo de
"palabra de parada". Esto necesita establecerse en las
siguientes circunstancias.
Si utiliza myisamchk para realizar una
operación que modifica los índices de las tablas (como una
reparación o un análisis), los índices
FULLTEXT
son reconstruidos utilizando el
archivo de palabra de parada por defecto a menos que
especifique lo contrario. Esto puede resultar en el fallo de
sentencias.
El problema ocurre porque estos parámetros son sólo
conocidos por el servidor. No están almacenados en los
archivos de índices de MyISAM
. Para evitar
el problema, si usted a modificado la longitud mínima o
máxima de palabra, o el archivo de palabra de parada en el
servidor, especifique los mismos valores de
ft_min_word_len
,
ft_max_word_len
, y
ft_stopword_file
para
myisamchk que los que ha utilizado para
mysqld. Por ejemplo, si ha establecido una
longitud de palabra mínima de 3, puede reparar una tabla con
myisamchk así:
shell> myisamchk --recover --ft_min_word_len=3 tbl_name
.MYI
Para asegurarnos de que myisamchk y el
servidor utilizan los mismos valores para los parámetros de
full-text, podemos ponerlos en las secciones
[mysqld]
y [myisamchk]
de un archivo de opciones:
[mysqld] ft_min_word_len=3 [myisamchk] ft_min_word_len=3
Una alternativa a utilizar myisamchk es
usar las sentencias REPAIR TABLE
,
ANALYZE TABLE
, OPTIMIZE
TABLE
, o ALTER TABLE
. Estas
sentencias son ejecutadas por el servidor, que conoce los
parámetros de full-text apropiados que debe utilizar.
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.