Comprovar taules d'una base de dades MySQL i reparar corruptes

Sóc dels que li agrada estar pendent dels servidors que administri, tot i que són altament estables, mai està de més sempre tirar-los un ull, com diu la dita:

L'ull de l'amo engreixa a el cavall

De tant en tant és bo fer diverses revisions al servidor i els seus serveis, en aquest cas parlaré sobre com comprovar les taules d'una base de dades i en cas que alguna estigui corrupta, la forma d'reparar-la.

Fer un check a les taules d'una DB MySQL

Com per tot (o gairebé tot), hi ha un comandament mitjanament simple que ens permet comprovar totes les taules d'una base de dades MySQL:

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

Per exemple, suposem que tinc una base de dades anomenada: proyectotesis

L'usuari administrador de la meva MySQL és: root

I el password d'aquest usuari és: misuperpassword

Llavors la línia seria:

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

Mostraria alguna cosa com:

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 sigui, que totes les taules estan ara mateix bé.

Com reparar una taula en cas que aparegui com corrupta?

Ja vaig fer un post explicant en detall això: Com reparar taules marcades com defectuoses o corruptes en MySQL

No obstant això deixaré aquí els passos.

1. Primer hem d'entrar a l'MySQL mitjançant terminal:

mysql -u root -p

Ens preguntarà el password de root, el posem i pressionem [Enter].

2. Després hem d'assenyalar quina base de dades farem servir, o sigui, quina és la base de dades que té la taula corrupta. Seguint l'exemple de l'inici, diguem que la base de dades és: proyectotesis

use proyectotesis;

És MOLT important cada punt i coma; que posi a la fin.

I ara li diem que repari la taula corrupta, per exemple diguem que la taula es diu: public_information

seria:

repair table public_information;

I ja està, això ha de ser suficient perquè es repari en la majoria dels casos.

Espero els sigui útil… i que mai tinguin taules corruptes 