A veces un apagón repentino o la muerte de nuestro proceso de mysql puede provocar errores de tablas mal cerradas. Sobretodo en tablas de sesiones, logins, etc..
mysqld[2978]: 100318 16:44:46 [ERROR] /usr/sbin/mysqld: Table ‘./home/tlr_sessions’ is marked as crashed and last (automatic?) repair failed
A veces lanzar un mysqlcheck -A no es suficiente, pero con este script sí conseguimos reparar todas las tablas :
for database in $(mysql --skip-column-names -uadmin -p`cat /etc/psa/.psa.shadow` -e "show databases" ); do echo "bd: $database"; for table in $(mysql --skip-column-names -uadmin -p`cat /etc/psa/.psa.shadow` -e "show tables" $database ); do echo "reparando $table " ; mysqlcheck -uadmin -p`cat /etc/psa/.psa.shadow` -r $database $table ; done ; done ;
Tras la reparación en el log podremos ver algo como esto:
mysqld[2978]: 100318 16:45:50 [Note] Found 222 of 1 rows when repairing ‘./home/tlr_sessions’
Deja una respuesta