Comprobar tablas de una base de datos MySQL y reparar corruptas

Soy de los que le gusta estar pendiente de los servidores que administre, aunque son altamente estables, nunca está de más siempre echarles un ojo, como dice el dicho:

El ojo del amo engorda al caballo

De vez en cuando es bueno hacer varias revisiones en el servidor y sus servicios, en este caso hablaré sobre cómo comprobar las tablas de una base de datos y en caso de que alguna esté corrupta, la forma de repararla.

Hacer un check a las tablas de una DB MySQL

Como para todo (o casi todo), existe un comando medianamente simple que nos permite comprobar todas las tablas de una base de datos MySQL:

mysqlcheck --check BASE_DE_DATOS --user="USUARIO" --password="PASSWORD"

Por ejemplo, supongamos que tengo una base de datos llamada: proyectotesis

El usuario administrador de mi MySQL es: root

Y el password de ese usuario es: misuperpassword

Entonces la línea sería:

mysqlcheck --check proyectotesis --user="root" --password="misuperpassword"

Mostraría algo como:

dfirefoxos.wp_commentmeta                          OK
dfirefoxos.wp_comments                             OK
dfirefoxos.wp_links                                OK
dfirefoxos.wp_options                              OK
dfirefoxos.wp_postmeta                             OK
dfirefoxos.wp_posts                                OK
dfirefoxos.wp_term_relationships                   OK
dfirefoxos.wp_term_taxonomy                        OK
dfirefoxos.wp_terms                                OK
dfirefoxos.wp_usermeta                             OK
dfirefoxos.wp_useronline                           OK
dfirefoxos.wp_users                                OK

O sea, que todas las tablas están ahora mismo bien.

¿cómo reparar una tabla en caso de que aparezca como corrupta?

Ya hice un post explicando en detalle esto: Cómo reparar tablas marcadas como defectuosas o corruptas en MySQL

No obstante dejaré aquí los pasos.

1. Primero debemos entrar al MySQL mediante terminal:

mysql -u root -p

Nos preguntará el password de root, lo ponemos y presionamos [Enter].

2. Luego debemos señalar qué base de datos usaremos, o sea, cuál es la base de datos que tiene la tabla corrupta. Siguiendo el ejemplo del inicio, digamos que la base de datos es: proyectotesis

use proyectotesis;

Es MUY importante cada punto y coma ; que ponga al final.

Y ahora le decimos que repare la tabla corrupta, por ejemplo digamos que la tabla se llama: public_information

Sería:

repair table public_information;

Y listo, esto debe bastar para que se repare en la mayoría de los casos.

Espero les sea de utilidad… y que nunca tengan tablas corruptas 😀


7 comentarios, deja el tuyo

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   Alberto Cardona dijo

    Hola, muy buen aporte, el anterior de arreglar el error también 😀

    Una pregunta, actualmente uso mariadb, conoce si el libro (guia) «sql99» esta en español?
    o Alguna buena guia de sql99, para saber la sintaxis completa sobre el DDL ya que en la guia de MariaDB no viene completa.

    Saludos

    1.    KZKG^Gaara dijo

      Hola,

      Ni idea amigo, no sé qué libro es, lo siento.

  2.   eliotime3000 dijo

    Perfecto, así podré reparar el error que no me permite aplicarle el URL Alias de marras que no me pone WordPress tras migrar mi sitio de Apache a NGINX.

  3.   Koratsuki dijo

    También, con phpMyAdmin puedes, después que te logueas seleccionar la base de datos, marcar todas las tablas y ejecutar la opcion «Reparar tablas» del menú desplegable…
    Salu2 y espero les sirva 😀

    1.    KZKG^Gaara dijo

      Nice, no me sabía esa!

    2.    elav dijo

      Reparar y Optimizar.. 😀

      1.    eliotime3000 dijo

        Eso mismo, aunque en el phpmyadmin tiene la facultad de manejarlo a punta de comandos por si uno no se acostumbra a tanto IDE.