El cliente mysqlcheck comprueba y repara tablas
MyISAM
. También puede optimizar y analizar
tablas.
mysqlcheck es similar a myisamchk, pero funciona de forma distinta. La principal diferencia operacional es que mysqlcheck debe usarse cuando el servidor mysqld está en ejecución, mientras que myisamchk debe usarse cuando no lo está. El beneficio de usar mysqlcheck es que no tiene que parar el servidor para comprobar o reparar las tablas.
mysqlcheck usa los comandos SQL CHECK
TABLE
, REPAIR TABLE
, ANALYZE
TABLE
, y OPTIMIZE TABLE
de forma
conveniente para los usuarios. Determina los comandos a usar en
función de la operación que quiera realizar, luego envía los
comandos al servidor para ejecutarlos.
Hay tres modos generales de invocar mysqlcheck:
shell> mysqlcheck [opciones
]nombre_de_base_de_datos
[tablas
] shell> mysqlcheck [opciones
] --databasesDB1
[DB2
DB3
...] shell> mysqlcheck [opciones
] --all-databases
Si no nombra ninguna tabla o usa las opciones
--databases
o --all-databases
,
se comprueban todas las bases de datos.
mysqlcheck tiene una característica especial
comparado con otros clientes. El comportamiento por defecto de
comprobar tablas (--check
) puede cambiarse
renombrando el binario. Si quiere tener una herramienta que repare
las tablas por defecto, debe hacer una copia de
mysqlcheck llamada
mysqlrepair, o hacer un enlace simbólico a
mysqlcheck llamado
mysqlrepair. Si invoca
mysqlrepair
, repara tablas.
Los siguientes nombres pueden usarse para cambiar el comportamiento por defecto de mysqlcheck :
mysqlrepair | La opción por defecto es --repair |
mysqlanalyze | La opción por defecto es --analyze |
mysqloptimize | La opción por defecto es --optimize |
mysqlcheck soporta las siguientes opciones:
-
--help
,-?
Muestra el mensaje de ayuda y sale.
-
--all-databases
,-A
Comprueba todas las tablas en todas las bases de datos. Esto es lo mismo que usar la opción
--databases
y llamar todas las bases de datos en la línea de comandos. -
--all-in-1
,-1
En lugar de realizar un comando para cada tabla, ejecuta un único comando para cada base de datos, que nombra todas las tablas de la base de datos a procesar.
-
--analyze
,-a
Analiza las tablas.
-
--auto-repair
Si una tabla comprobada está corrupta, la repara automáticamente. Cualquier reparación necesaria se hace tras el chequeo de cada tabla.
-
--character-sets-dir=
path
El directorio donde los conjuntos de caracteres están instalados. Consulte Sección 5.9.1, “El conjunto de caracteres utilizado para datos y ordenación”.
-
--check
,-c
Comprueba las tablas en busca de errores.
-
--check-only-changed
,-C
Chequea sólo tablas que han cambiado desde la última comprobación o que no se han cerrado correctamente.
-
--compress
Comprime toda la información enviada entre el cliente y el servidor si ambos soportan compresión.
-
--databases
,-B
Procesa todas las tablas en la base de datos especificada. Con esta opción, todos los argumentos nombrados se tratan como nombres de bases de datos, no como nombres de tablas.
-
--debug[=
opciones_de_depuración
],-# [
opciones_de_depuración
]Escribe un log de depuración. La cadena de caracteres
opciones_de_depuración
a menudo es'd:t:o,
nombre_de_fichero
'. -
--default-character-set=
conjunto_de_caracteres
Usa
conjunto_de_caracteres
como el conjunto de caracteres por defecto. ConsulteSección 5.9.1, “El conjunto de caracteres utilizado para datos y ordenación”. -
--extended
,-e
Si usa esta opción para comprobar tablas, se asegura que sean 100% consistentes pero tarda bastante.
Si usa esta opción para reparar tablas, ejecuta una reparación extendida que puede no sólo tardar bastante tiempo, sino que ¡también puede producir un montón de registros basura!
-
--fast
,-F
Comprueba sólo tablas que no se han cerrado correctamente.
-
--force
,-f
Continúa incluso si se produce un error SQL.
-
--host=
nombre_de_equipo
,-h
nombre_de_equipo
Conecta con el servidor MySQL en el equipo dado.
-
--medium-check
,-m
Realiza un chequeo que es más rápido que la operación
--extended
. Esto encuentra sólo el 99.99% de todos los errores, lo cual debería ser suficiente en la mayoría de casos. -
--optimize
,-o
Optimiza las tablas.
-
--password[=
contraseña
],-p[
contraseña
]La contraseña a usar cuando se conecta con el servidor. Si usa la opción con su forma corta (
-p
), no puede haber un espacio entre la opción y la contraseña. Si omite el valorcontraseña
a continuación de la opción--password
o-p
en la línea de comandos, aparece un prompt pidiéndola. -
--port=
número_de_puerto
,-P
número_de_puerto
El puerto TCP/IP para usar en la conexión.
-
--protocol={TCP | SOCKET | PIPE | MEMORY}
Protocolo de conexión a usar.
-
--quick
,-q
Si usa esta opción para comprobar tablas, evita que el chequeo escanee los registros para buscar enlaces incorrectos. Es el método de chequeo más rápido.
Si se utiliza esta opción para reparar tablas, el programa intenta reparar sólo el árbol del índice. Este es el método más rápido de reparación.
-
--repair
,-r
Hace una reparación que puede arreglar prácticamente todo excepto claves únicas que no son únicas.
-
--silent
,-s
Modo silencioso. Sólo muestra mensajes de error.
-
--socket=
ruta
,-S
ruta
Fichero socket a usar en la conexión.
-
--tables
Más prioritaria que la opción
--databases
o-B
. Todos los argumentos que vienen después de la opción se consideran nombres de tablas. -
--user=
nombre_de_usuario
,-u
nombre_de_usuario
El nombre de usuario MySQL a usar cuando se conecta al servidor.
-
--verbose
,-v
Modo explícito. Muestra información acerca de varios estados de las operaciones del programa.
-
--version
,-V
Muestra información de la versión y sale.