Método rápido para reparar/optimizar DB de WordPress (mysqlcheck)
Comando principal (todas las bases):
sudo mysqlcheck -u root -p --auto-repair --optimize --all-databases
Pasos (concretos)
-
Conectarte por SSH
ssh root@TU_IP
-
(Opcional) Poner el sitio en mantenimiento
-
Con WP-CLI:
wp maintenance-mode activate
-
Sin WP-CLI (en la raíz del sitio):
echo "<?php $upgrading = time(); ?>" | sudo tee /RUTA/DEL/SITIO/.maintenance
-
Backup rápido (recomendado)
sudo mysqldump -u root -p --single-transaction --quick --all-databases > ~/backup-$(date +%F-%H%M).sql
-
Reparar/optimizar la base de datos (método rápido)
sudo mysqlcheck -u root -p --auto-repair --optimize --all-databases
Verás
OKo mensajes tiporecreate + analyze(normal en InnoDB).
Si aparece “marked as crashed” y la tabla es MyISAM, intentará repararla.
-
(Si sigue lento) Reinicia servicios
sudo systemctl restart mysql
sudo systemctl restart php*-fpm
sudo systemctl restart nginx || sudo systemctl restart apache2
-
Salir de mantenimiento y probar
-
Con WP-CLI:
wp maintenance-mode deactivate
-
Sin WP-CLI:
sudo rm -f /RUTA/DEL/SITIO/.maintenance
Abre el sitio y verifica.
Variantes útiles
-
Solo la base de WordPress (más rápido/seguro):
sudo mysqlcheck -u root -p --auto-repair --optimize DB_NAME
-
Base de Datos Administrada (DigitalOcean u otras):
mysqlcheck --ssl-mode=REQUIRED -h DB_HOST -P DB_PORT -u DB_USER -p --optimize DB_NAME
Notas rápidas: REPAIR no aplica a InnoDB (se ignora); --optimize sí reconstruye/actualiza estadísticas. Si el problema persiste, revisa logs:
sudo tail -n 100 /var/log/mysql/error.log