Solucionar problemas
Tablas corruptas en una base de datos MySQL
Síntomas
Que un error mencione una tabla no demuestra corrupción. Conserva el código y mensaje exactos: SQL inválido, permisos, falta de espacio, bloqueos o una tabla inexistente requieren procedimientos distintos.
Antes de reparar:
- Confirma mediante una comprobación que la tabla concreta está marcada como corrupta.
- Identifica su motor en phpMyAdmin.
REPAIR TABLEsirve para motores como MyISAM y, en MariaDB, Aria; no repara InnoDB. - Conserva una copia restaurable. Una reparación puede bloquear la tabla o descartar datos dañados.
Reparando vía phpMyAdmin
En phpMyAdmin selecciona únicamente la tabla confirmada y con motor compatible y usa Reparar la tabla. No selecciones toda la base como primera medida.
Reparando vía cPanel
En cPanel > Manage My Databases puede aparecer Repair Database. Esta acción actúa sobre la base completa; úsala solo con copia disponible y después de confirmar que contiene tablas reparables por esa herramienta.
Reparando vía SSH
Si eres un usuario con conocimientos avanzados y tienes habilitado el acceso SSH puedes realizar la reparación con el siguiente comando:
mysqlcheck -u USUARIO -p BASE TABLA mysqlcheck -u USUARIO -p --repair BASE TABLA
En servidores MariaDB, el comando equivalente puede ser mariadb-check. Si la tabla es InnoDB, el servidor presenta errores propios o no existe una copia válida, detén la intervención y contacta con soporte; no fuerces una recuperación sobre el servicio compartido.
Validar después de la reparación
Conserva el resultado completo de la comprobación y reparación. Compara recuentos y funciones de la aplicación con una referencia conocida; que la tabla vuelva a abrirse no demuestra que no se hayan descartado registros dañados.
Si el error reaparece, investiga espacio, registros y estado del servidor con soporte antes de repetir la reparación. No añadas una tarea periódica de reparación como sustituto del diagnóstico ni ejecutes herramientas sobre los archivos físicos de una base en uso.
La referencia de REPAIR TABLE detalla los motores y límites. Para InnoDB, la recuperación debe planificarse según el error y la copia disponible.
También te puede ayudar
- Drupal antiguo, conflicto con la tabla system en MySQL 8 Retira el renombrado inseguro de la tabla system y orienta la recuperación de Drupal 6 o 7 hacia una...
- Error SQLSTATE 2026 al instalar o actualizar PrestaShop Diagnostica la conexión SSL con MySQL que impide a Doctrine consultar la versión del servidor, sin c...
- Joomla 1.5 y 2.5, compatibilidad con MySQL 8 Aborda la incompatibilidad de Joomla sin soporte con MySQL 8 mediante aislamiento, inventario y migr...
- Por qué cPanel y phpMyAdmin muestran tamaños distintos para una base de datos Aclara por qué cPanel y phpMyAdmin calculan tamaños distintos, cómo localizar las tablas grandes y c...
¿Algo no cuadra o ha cambiado? Cuéntanoslo y lo revisamos.