🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo optimizar tablas MySQL en cPanel (phpMyAdmin y comandos)

Actualizado el 9 de febrero de 2026

¿Por qué es importante optimizar las tablas MySQL?

Si tu web va lenta, los formularios tardan en enviarse o el panel de administración se congela, es muy probable que las tablas de tu base de datos estén fragmentadas. Con el tiempo, al añadir, borrar y actualizar registros (posts, pedidos, usuarios), MySQL guarda la información en bloques separados. Es como un disco duro: al final, los datos están dispersos y el sistema tarda más en encontrarlos.

Optimizar tablas MySQL no es un lujo, es una tarea de mantenimiento básica. Al hacerlo, consigues tres cosas inmediatas:

  • Velocidad: las consultas (SELECT, INSERT, UPDATE) se ejecutan más rápido.
  • Estabilidad: reduces los errores de "tabla corrupta" o "crashes" en la base de datos.
  • Espacio: liberas espacio físico en el servidor al eliminar fragmentos y registros huérfanos.

En este artículo te voy a enseñar dos formas de hacerlo: la sencilla y visual con phpMyAdmin (desde cPanel) y la más avanzada y potente usando comandos SSH. No necesitas ser un experto, solo seguir los pasos con calma.


Antes de empezar: haz una copia de seguridad

[WARNING] Este es el paso más importante. Optimizar tablas es seguro en el 99% de los casos, pero si una tabla está dañada y la intentas reparar con el método equivocado, podrías perder información. Haz siempre una copia de seguridad antes de tocar nada.

Desde cPanel, ve a la sección "Copias de seguridad" o usa la herramienta "Backup" de tu hosting. Si tu proveedor usa Syspanel (antes conocido como HestiaCP), recuerda que el acceso es por el puerto 2106 y también tiene su propio sistema de backups.

Una vez que tengas tu copia descargada en tu ordenador, ya puedes continuar con tranquilidad.


Método 1: Optimizar tablas MySQL con phpMyAdmin (el más fácil)

Este método es perfecto si no te sientes cómodo con la terminal. Es visual, con botones y no necesitas escribir nada complicado.

Paso 1: Accede a phpMyAdmin desde cPanel

  1. Inicia sesión en tu cPanel.
  2. Busca la sección "Bases de Datos".
  3. Haz clic en el icono de "phpMyAdmin". Se abrirá una nueva pestaña con la interfaz.

Paso 2: Selecciona tu base de datos

En el panel izquierdo de phpMyAdmin, verás una lista con todas tus bases de datos. Haz clic en la que quieras optimizar (por ejemplo, usuario_wpdb).

Paso 3: Marca todas las tablas

En la parte central, verás una lista de tablas. Justo debajo de la lista, hay una fila con opciones. Busca el enlace que dice "Seleccionar todo" o haz clic en la casilla de verificación de la parte superior izquierda de la tabla. Se marcarán todas las tablas de la base de datos.

Paso 4: Elige la opción "Optimizar tablas"

En el menú desplegable que aparece (justo al lado de "Seleccionar todo"), selecciona la opción "Optimizar tablas". Luego haz clic en el botón "Continuar" o "Ejecutar".

Verás una pantalla con el resultado. Si todo va bien, aparecerá un mensaje verde como:

  • OK en la columna "Estado".
  • Table is already up to date (La tabla ya está actualizada).

[TIP] Si alguna tabla muestra Warning, no te asustes. Suele significar que está fragmentada y la optimización la ha arreglado. Si aparece Error, entonces necesitas el siguiente paso: reparar.

Paso 5: Reparar tablas dañadas (si es necesario)

Si alguna tabla dio error, vuelve a seleccionarla (solo esa) y en el mismo menú desplegable elige "Reparar tablas". Esto ejecuta el comando REPAIR TABLE, que intenta arreglar los índices y los datos corruptos.

[INFO] No es necesario reparar todas las tablas. Solo las que den error. Reparar en exceso puede ser contraproducente.

¿Cada cuánto debo hacer esto?

Para un blog o web pequeña, una vez al mes es suficiente. Para tiendas online o webs con mucho tráfico, te recomiendo hacerlo cada semana. Puedes poner un recordatorio en tu calendario.


Método 2: Optimizar tablas MySQL con comandos SSH (el más potente)

Si tienes acceso SSH a tu servidor, este método es mucho más rápido y te permite optimizar todas las bases de datos de una sola vez. Es ideal si gestionas varios sitios web.

Paso 1: Conéctate por SSH

Abre tu terminal (en Windows puedes usar PuTTY, en Mac o Linux la terminal nativa). Conéctate con tu usuario y contraseña de root o de un usuario con permisos.

ssh usuario@tu-servidor.com

Paso 2: Accede a MySQL

Una vez dentro, escribe el siguiente comando y presiona Enter:

mysql -u root -p

Te pedirá la contraseña de root de MySQL. Escríbela y presiona Enter. Verás el prompt de MySQL:

mysql>

Paso 3: Optimizar una base de datos específica

Para optimizar todas las tablas de una base de datos, usa este comando:

USE nombre_de_tu_base_de_datos;
OPTIMIZE TABLE tabla1, tabla2, tabla3;

Pero escribir tabla por tabla es tedioso. Mejor usa el siguiente truco para optimizar todas las tablas de una base de datos:

USE information_schema;
SELECT CONCAT('OPTIMIZE TABLE ', TABLE_SCHEMA, '.', TABLE_NAME, ';')
FROM TABLES
WHERE TABLE_SCHEMA = 'nombre_de_tu_base_de_datos';

Esto generará una lista de comandos. Cópialos y pégalos en el prompt de MySQL.

Paso 4: Optimizar todas las bases de datos a la vez (el comando mágico)

Aquí va el truco definitivo. Este comando genera y ejecuta la optimización de todas las tablas de todas las bases de datos, excepto las del sistema:

SELECT CONCAT('OPTIMIZE TABLE ', TABLE_SCHEMA, '.', TABLE_NAME, ';')
FROM information_schema.TABLES
WHERE TABLE_SCHEMA NOT IN ('mysql', 'information_schema', 'performance_schema');

Copia el resultado, pégalo en el prompt y presiona Enter. Verás cómo empiezan a ejecutarse los comandos uno tras otro.

[WARNING] Este comando puede tardar unos minutos si tienes muchas tablas. No cierres la sesión SSH durante el proceso.

Paso 5: Reparar tablas con comandos

Si la optimización falla en alguna tabla, repárala con:

REPAIR TABLE nombre_base.nombre_tabla;

O para reparar todas las de una base de datos, usa el mismo truco pero cambiando OPTIMIZE por REPAIR:

SELECT CONCAT('REPAIR TABLE ', TABLE_SCHEMA, '.', TABLE_NAME, ';')
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'nombre_de_tu_base_de_datos';

Paso 6: Salir de MySQL

Cuando termines, escribe EXIT; y presiona Enter. Luego escribe exit para cerrar la sesión SSH.


Optimizar base de datos completa desde la línea de comandos (sin entrar a MySQL)

¿No quieres entrar al prompt de MySQL? Puedes hacerlo directamente desde la terminal con mysqlcheck. Este es el comando más rápido y limpio.

Para optimizar todas las tablas de una base de datos:

mysqlcheck -u root -p --optimize nombre_de_tu_base_de_datos

Para optimizar todas las bases de datos del servidor:

mysqlcheck -u root -p --optimize --all-databases

Para reparar y optimizar a la vez:

mysqlcheck -u root -p --repair --optimize --all-databases

[TIP] Añade --quick al comando para que sea más rápido en tablas grandes: mysqlcheck -u root -p --optimize --quick nombre_de_tu_base_de_datos.


¿Qué más puedo hacer para mejorar el rendimiento MySQL?

Optimizar tablas es un gran paso, pero no es la única acción. Aquí tienes una lista de comprobación rápida:

  • Activa el caché de consultas: en cPanel, busca "MySQL" o "Configuración de MySQL". Esto guarda las consultas repetidas en memoria.
  • Revisa los índices: asegúrate de que las columnas que usas en las cláusulas WHERE y JOIN tengan índices.
  • Limpia tablas temporales: si usas WooCommerce o foros, las tablas de sesiones pueden crecer mucho. Bórralas periódicamente.
  • Actualiza MySQL: si tu hosting usa una versión antigua, pide a tu proveedor que la actualice. MySQL 8 es mucho más rápido que la 5.6.
  • Usa InnoDB: si tus tablas son de tipo MyISAM, considera convertirlas a InnoDB, ya que soporta mejor las escrituras concurrentes.

Preguntas frecuentes (FAQ)

¿Optimizar tablas MySQL borra mis datos?

No. La optimización solo reordena los datos y los índices, no elimina filas. Es seguro.

¿Puedo optimizar mientras mi web está en línea?

Sí, pero en tablas muy grandes puede bloquearlas temporalmente. Si tienes una tienda online, intenta hacerlo en horas de bajo tráfico (de madrugada).

¿Qué diferencia hay entre optimizar y reparar?

Optimizar es como desfragmentar el disco: reorganiza el espacio. Reparar es como un "check disk": busca errores y los corrige. Primero optimiza, y si hay errores, repara.

Mi hosting usa Syspanel, ¿cómo accedo a phpMyAdmin?

Syspanel (antes HestiaCP) tiene su propio phpMyAdmin. Accede a través de https://tu-servidor.com:2106 (el puerto 2106 es el correcto), inicia sesión y busca la sección "Bases de datos". También puedes usar los comandos SSH que te he mostrado, funcionan igual.

¿Con qué frecuencia debo optimizar?

Depende del uso. Un blog pequeño: mensual. Una tienda online con muchos pedidos: semanal. Un foro muy activo: cada 2-3 días.

¿Qué pasa si se me olvida optimizar?

Tu web irá cada vez más lenta, las consultas tardarán más y el servidor consumirá más CPU y RAM. En casos extremos, las tablas pueden corromperse y dar errores 500 o "Error establishing a database connection".


Conclusión: hazlo rutina

Optimizar tablas MySQL en cPanel es una tarea de mantenimiento que no deberías ignorar. Ya sea con la comodidad de phpMyAdmin o con la potencia de la línea de comandos, el proceso es rápido y los beneficios son inmediatos.

Te recomiendo que configures un recordatorio mensual en tu calendario. En solo 10 minutos al mes, mantendrás tu base de datos ágil, tu web rápida y tus visitantes felices. Y recuerda: ante cualquier duda, siempre puedes contactar con el soporte de tu hosting. Ellos también pueden hacer esta tarea por ti si no te sientes seguro.

[TIP] Si notas que tu web sigue lenta después de optimizar, revisa también las imágenes, el caché del navegador y la configuración de tu CDN. La base de datos es solo una pieza del rompecabezas del rendimiento.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel