Anuncios

Bienvenidos sean a este post, hoy hablaremos sobre los dos metodos del titulo.

Anuncios
Anuncios

Estas herramientas vienen incluidas en todas las distribuciones de mariadb, como dijimos en este post estas herramientas no solamente hacen el chequeo sino que tambien pueden hacer la reparacion de las tablas de MyIsam por medio de myisamcheck y las tablas de Aria por medio de aria_chk, la herramienta myisamchk requiere que ningun otro programa acceda a las tablas hasta que esten funcionando, por lo tanto antes de ejecutar esta herramienta debemos bloquear las tablas relevantes o simplemente detener el servidor.

Anuncios
Nota: 
Ambas herramientas no trabajan con tablas particionadas
Anuncios

La sintaxis correcta para invocarlo es la siguiente:

myisamchk [opciones] lista_tablas …
Anuncios
aria_chk [opciones] lista_tablas …
Anuncios

El parametro lista_tablas en ambas herramientas lo podemos pasar de muchas formas:

  • Como el nombre de una tabla
  • Como el nombre de un archivo de indice de tabla, tambien se chequeara los datos de la tabla
  • Como un patron utilizando caracteres comodines
Anuncios

Esto nos permite poder trabajar de una manera flexible con multiples tablas a traves del uso de los comodines del sistema operativo, veamos un ejemplo:

/var/lib/mysql/base1/*.MYI
Anuncios

Este seleccionara todos los archivos de MyIsam que se encuentran en la base llamada base1, con una simple modificacion sobre lo comentado anteriormente podemos hacer que se seleccionen todas las tablas de tipo MyIsam de todas las bases:

/var/lib/mysql/*/*.MYI
Anuncios

Para especificar dos tablas podemos utilizar la siguiente forma:

/var/lib/mysql/base1/cliente /var/lib/mysql/base1/usuario
Anuncios

En este caso es para dos tablas distintas dentro de la misma base, siempre se debe especificar el path completo donde se encuentra dado que la herramienta no sabe como es el directorio de trabajo de mariadb, una excepcion es que por medio de la terminal nos movamos hacia los archivos y desde ahi podemos usar directamente los nombre de los archivos sin necesidad de especificar el path.

Anuncios

A continuacion hablaremos sobre las opciones disponibles para ambas herramientas, las cuales controlaran las acciones ejecutadas en la herramienta invocada, comencemos con estas primeras opciones:

  • –check, se utiliza para indicar el chequeo de tablas, es la opcion predeterminada
  • –force, esta se junto a la anterior y si la tabla esta dañada se intenta repararla
  • –repair, esta intenta la reparacion si esta dañada la tabla
  • –analyze, esta analiza los indices de la tabla, como si fuera un ANALYZE TABLE
Anuncios

A continuacion veremos otras opciones disponibles para cuando hacemos el chequeo de tablas:

  • –check-only-changed, equivale al CHANGED de CHECK TABLE
  • –update-state, chequea tablas que no se cerraron correctamente
  • –fast, equivale a FAST de CHECK TABLE
  • –medium-check, equivale a MEDIUM de CHECK TABLE
  • –extend-check, equivale a EXTENDED de CHECK TABLE
  • –read-only, las tablas no se marcaran como chequeadas
Anuncios
Nota: 
En este post hablamos sobre la instruccion CHECK TABLE.
Anuncios

Ahora pasemos a hablar sobre las opciones disponibles para la reparacion de tablas:

  • –backup, antes de intentar la reparacion genera un archivo de backup con la extension .BAK
  • –correct-checksum, corrige los valores de checksum de las tablas
  • –quick, ejecuta una reparacion rapida y no modifica los archivos de datos
  • -q, idem al anterior pero si la especificamos dos veces modificar los archivos de datos
  • –extend-check, equivale al EXTENDED de REPAIR TABLE
  • –recover, deberia encontrar cualquier error excepto para valores de clave duplicados
  • –sort-recover, idem al anterior pero fuerza la reparacion en caso de que requiera un archivo de datos muy grande
  • –safe-recover, idem a –recover pero trabaja con un algoritmo mas lento que en algunas circunstancias trabaja un poco mejor
Anuncios

Como Aria usa archivos de logs y archivo de control de log para reparar tablas corruptas las siguientes opciones son especificas para aria_chk que controlan la forma que estos archivos son usados:

  • –datadir=path, el path del archivo de control de log
  • –ignore-control-file, ignora al archivo de control de log pero esta puede ser insegura si otro programa accede al archivo
  • –require-control-file, se aborta la reparacion sii no se encuentra el archivo de control de log
  • –logdir=path, el path de los archivos de log
Anuncios

En resumen, hoy hemos visto las herramientas para chequear a las tablas de MyIsam (myisamchk) y Aria (aria_chk), como son, que hacen, las opciones disponibles para chequear, las disponibles para reparar y unas especificas para aria_chk, espero les haya sido util sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios

Donación

Es para mantenimento del sitio, gracias!

$1.50

Anuncio publicitario