Comprobación del estado de las tablas de una base de datos mysql

Logotipo de mysql Imagen de mysql.com

Haciendo uso de mysqlcheck podemos comprobar el estado de las tablas de una, o varias, bases de datos en un servidor mysql. Su uso es muy sencillo:

mysqlcheck base-de-datos -u usuario -p password

Al hacerlo, mysqlcheck nos genera una salida con las tablas de la base de datos indicada y su estado:

base-de-datos.tabla-1 OK
base-de-datos.tabla-2 OK
base-de-datos.tabla-3 OK
base-de-datos.tabla-4
warning : Table is marked as crashed
warning : 2 clients are using or haven't closed the table properly
warning : Size of datafile is: 448416 Should be: 447568
error : Wrong record length 168 of 176 at 87156
error : Corrupt

Si la lista es muy larga la selección de sólo aquellas tablas con problemas puede no ser inmediata. Un modo de verlas sólo a estas es ejecutando:

mysqlcheck base-de-datos -u usuario -p password | grep -v OK$

con lo que seleccionamos sólo las lineas que no terminen en OK, que son las que tienen problemas:

base-de-datos.tabla-4
warning : Table is marked as crashed
warning : 2 clients are using or haven't closed the table properly
warning : Size of datafile is: 448416 Should be: 447568
error : Wrong record length 168 of 176 at 87156
error : Corrupt

Ahí os queda eso 🙂 Ah, un modo de reparar todas las tablas de todas las bases de datos lo podéis encontrar en Shell script to optimize all tables in all databases (MySQL)

 

Leave a comment

Your email address will not be published.


*