Reparar MySQL

Después de un error en mi base de datos he tenido que reparar la base de datos mysql, dejo aquí los comando que he tenido que utilizar como autonota porque seguramente me ocurra alguna que otra vez. Si alguien necesita lo mismo pues también lo tiene 😉

Existen dos caminos a elegir, mysqlcheck y myisamchk, la gran diferencia es que uno no necesita que paremos la base de datos y el otro si, también que uno trabaja directamente sobre los archivos del disco duro y el otro sobre la base de datos montada.

Con mysqlcheck NO debemos parar la base de datos y los comandos son estos, aunque no veáis mysqlcheck, estos comandos son atajos a ese comando:

root@improvisa:/# mysqlrepair –all-databases -u root -p
root@improvisa:/# mysqloptimize –all-databases -u root -p

Con myisamchk debemos para la base de datos, ir al directorio que contiene nuestras bases de datos y desde allí lanzar el comando y una vez acabado rearmar la base de datos

root@improvisa:/# /etc/init.d/mysql stop
Stopping MySQL database server: mysqld.

root@improvisa:/# cd /var/lib/mysql/
root@improvisa:/var/lib/mysql/# find ./ -type f -name «*.MYI» -exec myisamchk -r {} \;

root@improvisa:/# /etc/init.d/mysql start
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..

Un saludo