Errores comunes de bases de datos y cómo solucionarlos
¿Por qué se rompen las bases de datos? Entendiendo el problema
Las bases de datos son el corazón de cualquier sitio web o aplicación dinámica. En plataformas como WordPress o PrestaShop, almacenan desde artículos y productos hasta configuraciones y usuarios. Cuando algo falla, el sitio puede volverse inaccesible, mostrar errores en blanco o dar mensajes crípticos. Los errores base de datos más comunes suelen deberse a corrupción de tablas, configuraciones incorrectas, límites de recursos del servidor o problemas de conexión.
Afortunadamente, la mayoría de estos problemas tienen soluciones sencillas que puedes aplicar desde tu panel de control, como cPanel o Syspanel (el panel de HestiaCP, que se accede por el puerto 2106). En este artículo, te guiaré paso a paso para que puedas diagnosticar y reparar los fallos más frecuentes, sin necesidad de ser un experto técnico.
Error 1: "Error establishing a database connection" (Error al establecer conexión con la base de datos)
Este es, sin duda, el error más común en sitios WordPress y PrestaShop. Aparece cuando el sistema no puede comunicarse con la base de datos. Las causas pueden ser desde credenciales incorrectas hasta que el servidor de bases de datos (MySQL/MariaDB) se ha detenido.
Solución paso a paso
-
Verifica las credenciales en el archivo de configuración
- En WordPress: abre el archivo
wp-config.php(vía FTP o el administrador de archivos de cPanel). Busca las líneas:
define('DB_NAME', 'tu_base');
define('DB_USER', 'tu_usuario');
define('DB_PASSWORD', 'tu_contraseña');
define('DB_HOST', 'localhost');
Asegúrate de que coincidan con los datos de tu base de datos. Si cambiaste la contraseña recientemente, actualízala aquí. - En PrestaShop: el archivo es
/app/config/parameters.php. Busca las clavesdatabase_name,database_userydatabase_password.
- En WordPress: abre el archivo
-
Reinicia el servicio de base de datos
Desde cPanel, ve a la sección "MySQL" y busca la opción "Reiniciar base de datos" (a veces está en "Servicios"). Si usas Syspanel, ingresa por el puerto 2106, ve a "Servicios" y reinicia "MySQL/MariaDB".
[TIP] Si no ves la opción, contacta a tu proveedor de hosting; ellos pueden reiniciar el servicio desde el servidor. -
Comprueba si el usuario de la base de datos tiene permisos
En cPanel, entra a "Base de datos MySQL", selecciona tu base y asegúrate de que el usuario asociado tenga "Todos los privilegios". Si no, asígnaselos. -
Verifica que el servidor de bases de datos esté funcionando
Si todo lo anterior está bien, el problema puede ser del servidor. Ejecuta este comando desde la terminal (si tienes acceso SSH):
systemctl status mysql(omariadb). Si está detenido, inícialo consystemctl start mysql.
[WARNING] Si no tienes acceso SSH, pide ayuda a tu hosting.
Error 2: "Table 'nombre_tabla' is marked as crashed" (Tabla marcada como corrupta)
Este error es típico cuando una tabla de la base de datos se corrompe debido a cortes de energía, errores del disco o cierres abruptos del servidor. Aparece en logs de errores o directamente en la web.
Soluciones para reparar tablas
Desde cPanel (phpMyAdmin)
- Accede a phpMyAdmin desde cPanel (icono "phpMyAdmin").
- Selecciona la base de datos afectada (a la izquierda).
- En la lista de tablas, marca la que da error (puede tener un icono de advertencia).
- Abajo, en el menú desplegable "Con seleccionados", elige "Reparar tabla".
- phpMyAdmin ejecutará el comando
REPAIR TABLE. Si funciona, verás un mensaje de éxito.
Desde Syspanel (HestiaCP, puerto 2106)
- Ingresa a Syspanel con el puerto 2106 (ejemplo:
tudominio.com:2106). - Ve a "Bases de datos" y selecciona la tuya.
- Haz clic en "phpMyAdmin" (si está disponible) o usa la opción "Reparar" si aparece.
- Si no hay opción gráfica, puedes reparar desde la terminal SSH:
mysqlcheck -u usuario -p --repair nombre_base
Te pedirá la contraseña y luego reparará todas las tablas.
Desde el panel de control de WordPress (plugins)
Si no tienes acceso a cPanel o Syspanel, instala un plugin como "WP-DBManager" o "Advanced Database Cleaner". Busca la opción "Reparar base de datos" y ejecútala.
Error 3: "Too many connections" (Demasiadas conexiones)
Este error ocurre cuando el límite de conexiones simultáneas a la base de datos se excede. Es común en sitios con mucho tráfico o con plugins mal optimizados en WordPress o PrestaShop.
Cómo solucionarlo
-
Aumenta el límite de conexiones
Desde cPanel, busca "MySQL" y luego "Configuración de MySQL". Allí puedes modificar el parámetromax_connections. Un valor seguro es 150-200 para sitios pequeños.
[INFO] En Syspanel (puerto 2106), esto se hace editando el archivo/etc/mysql/mariadb.conf.d/50-server.cnfo/etc/my.cnf. Busca la líneamax_connectionsy cámbiala. Luego reinicia el servicio. -
Optimiza las consultas y reduce conexiones persistentes
- En WordPress, desactiva plugins que hagan muchas consultas (como caché mal configurada o contadores de visitas).
- En PrestaShop, revisa los módulos de terceros y desactiva los que no uses.
-
Usa un plugin de caché
Instala un plugin de caché (W3 Total Cache, WP Super Cache) para reducir la carga en la base de datos. -
Reinicia el servidor de bases de datos
A veces, un reinicio libera las conexiones colgadas. Hazlo desde cPanel o consystemctl restart mysqlen SSH.
Error 4: "Access denied for user 'usuario'@'localhost'" (Acceso denegado)
Este error indica que el usuario de la base de datos no tiene permiso para conectarse desde el servidor. Puede deberse a un cambio de contraseña o a que el usuario fue eliminado.
Soluciones
-
Verifica la contraseña
Ve a cPanel > "Base de datos MySQL" y haz clic en "Cambiar contraseña" para el usuario afectado. Luego actualiza el archivo de configuración de tu CMS (como se explicó en el Error 1). -
Reasigna privilegios
En cPanel, entra a "Base de datos MySQL", selecciona la base y en "Usuarios actuales" asegúrate de que el usuario esté añadido con "Todos los privilegios". Si no, agrégalo de nuevo. -
Desde Syspanel (puerto 2106)
Ve a "Bases de datos", selecciona la base y en "Usuarios" edita los permisos. Si el usuario no aparece, créalo de nuevo. -
Comprueba el host de conexión
En el archivo de configuración de tu CMS, asegúrate de queDB_HOSTsealocalhost(o127.0.0.1). Si usas un servidor externo, pon la IP correcta.
Error 5: "Base de datos no encontrada" o "Unknown database"
Este error aparece cuando el CMS intenta acceder a una base que no existe. Puede ocurrir si la base fue eliminada accidentalmente o si el nombre está mal escrito.
Pasos para resolverlo
-
Verifica el nombre en el panel de control
- En cPanel, ve a "Base de datos MySQL" y mira la lista de bases. Copia el nombre exacto (suele tener un prefijo como
usuario_nombre). - En Syspanel (puerto 2106), ve a "Bases de datos" y anota el nombre.
- En cPanel, ve a "Base de datos MySQL" y mira la lista de bases. Copia el nombre exacto (suele tener un prefijo como
-
Actualiza el archivo de configuración
Tanto en WordPress (wp-config.php) como en PrestaShop (parameters.php), corrige el nombre de la base si es necesario. -
Crea la base de datos nuevamente
Si la base fue eliminada, créala desde el panel de control. Luego importa una copia de seguridad (archivo .sql) usando phpMyAdmin o desde Syspanel con la opción "Importar".
[WARNING] Si no tienes copia de seguridad, el sitio perderá todos los datos. Siempre mantén backups periódicos.
Error 6: "MySQL server has gone away" (El servidor MySQL ha desaparecido)
Este error suele deberse a un tiempo de espera demasiado corto o a que el servidor se queda sin memoria. Es común al importar bases de datos grandes.
Soluciones
-
Aumenta el tiempo de espera
Edita el archivo de configuración de MySQL (my.cnf o 50-server.cnf) y aumenta estos parámetros:wait_timeout = 300max_allowed_packet = 64M
Luego reinicia el servicio.
-
Divide la importación
Si estás importando un archivo SQL grande, usa phpMyAdmin y selecciona "Importar" en partes, o divide el archivo con herramientas comospliten Linux. -
Optimiza la memoria del servidor
Si el problema es recurrente, considera aumentar la memoria RAM del servidor o contratar un plan de hosting más potente.
Preguntas frecuentes (FAQ)
¿Cómo sé si mi base de datos está corrupta?
Los síntomas incluyen: páginas en blanco, errores "Table '...' is marked as crashed" en los logs, o mensajes de "Error de base de datos" en WordPress o PrestaShop. Puedes verificarlo ejecutando CHECK TABLE nombre_tabla; desde phpMyAdmin.
¿Puedo reparar la base de datos sin perder datos?
Sí, la mayoría de las reparaciones no eliminan datos. Solo corrigen la estructura de las tablas. Siempre es recomendable hacer una copia de seguridad antes.
¿Qué hago si no tengo acceso a cPanel o Syspanel?
Pide a tu proveedor de hosting que ejecute las reparaciones. También puedes usar plugins como "WP-DBManager" en WordPress si el sitio aún carga.
¿Cada cuánto debo hacer mantenimiento a la base de datos?
Recomiendo optimizar y reparar tablas una vez al mes. Puedes automatizarlo con plugins o scripts de cron.
¿Syspanel es lo mismo que HestiaCP?
Sí, Syspanel es el nombre comercial que usamos para referirnos al panel de control HestiaCP. Su puerto de acceso es el 2106.
Consejos finales para evitar errores base de datos
- Realiza backups periódicos: programa copias automáticas desde cPanel o Syspanel (puerto 2106). Una vez a la semana es suficiente para sitios pequeños.
- Mantén tu CMS actualizado: tanto WordPress como PrestaShop lanzan parches que corrigen vulnerabilidades que pueden afectar la base de datos.
- Usa un plugin de caché: reduce las consultas a la base y mejora el rendimiento.
- Monitorea el uso de recursos: desde cPanel o Syspanel puedes ver el consumo de CPU y memoria. Si se acerca al límite, considera migrar a un plan superior.
Recuerda que la mayoría de los errores base de datos tienen soluciones sencillas que puedes aplicar tú mismo. Si el problema persiste, no dudes en contactar al soporte técnico de tu hosting. ¡Con paciencia y estos pasos, tu sitio volverá a funcionar en minutos!
