Cómo solucionar errores comunes de conexión a base de datos en WordPress y PrestaShop
¿Por qué aparece un error de conexión a la base de datos?
Cuando tu tienda online o tu blog dan el temido mensaje de "Error al conectar con la base de datos", el corazón se te viene al suelo. Es uno de los fallos más comunes y, afortunadamente, también uno de los que tiene solución más rápida si sabes dónde mirar.
Tanto WordPress como PrestaShop dependen de una base de datos MySQL para almacenar todo tu contenido: artículos, productos, pedidos, clientes y configuraciones. Si esa conexión falla, la web se cae por completo.
Las causas pueden ser muy variadas: desde que el servidor de bases de datos está caído, hasta que alguien cambió la contraseña sin avisarte, pasando por un archivo corrupto o un problema de permisos. En este artículo voy a guiarte paso a paso para que puedas solucionar errores de base de datos en WordPress y PrestaShop incluso si no eres un experto técnico.
Vamos a ello.
Los errores más típicos de conexión MySQL
Antes de lanzarnos a tocar archivos, es importante que sepas identificar qué está pasando. Estos son los mensajes más habituales que verás:
En WordPress
- "Error al establecer una conexión con la base de datos" (el clásico).
- "One or more database tables are unavailable" (una o más tablas no están disponibles).
- "Error establishing a Redis connection" (si usas caché con Redis, aunque esto es menos común).
- "Your PHP installation appears to be missing the MySQL extension" (falta la extensión MySQL en PHP).
En PrestaShop
- "Link to database cannot be established" (no se puede establecer enlace con la base de datos).
- "Fatal error: Call to a member function execute() on boolean" (suele estar relacionado con la base de datos).
- "PrestaShop could not connect to the database" (PrestaShop no pudo conectarse a la base de datos).
Todos estos mensajes apuntan al mismo sitio: tu aplicación no puede hablar con MySQL. Ahora bien, ¿por qué?
Paso 1: Comprueba si el servidor MySQL está activo
Lo primero que tienes que hacer es verificar que el servicio de bases de datos está corriendo. Si estás en un hosting compartido, normalmente el proveedor lo gestiona todo y no puedes acceder al servidor. Pero si tienes un VPS o un servidor dedicado, puedes hacerlo tú mismo.
Si usas Syspanel (antes conocido como HestiaCP)
Si tu panel de control es Syspanel, recuerda que el acceso se realiza a través del puerto 2106 (por ejemplo: https://tu-dominio.com:2106). Una vez dentro:
- Ve a la sección "Servicios" o "Servicios del sistema".
- Busca
MySQLoMariaDB. - Si aparece en rojo o como "detenido", haz clic en el botón para iniciarlo.
[TIP] Si no ves la opción de servicios, puedes reiniciar MySQL desde la terminal con este comando:
systemctl restart mysql
O si usas MariaDB:
systemctl restart mariadb
En un hosting compartido
Si no tienes acceso a la terminal, contacta con el soporte de tu hosting. Ellos podrán decirte si hay algún problema con el servidor de bases de datos o si está en mantenimiento.
Paso 2: Revisa los datos de conexión en WordPress
WordPress guarda los datos de conexión en el archivo wp-config.php, que está en la raíz de tu instalación. Si estos datos son incorrectos, la web no podrá conectarse.
Cómo revisar el wp-config.php
- Accede a tu hosting por FTP o por el administrador de archivos de tu panel.
- Busca el archivo
wp-config.phpen la carpeta principal. - Ábrelo con un editor de texto (como Notepad++ o el editor del propio panel).
- Busca estas líneas:
define('DB_NAME', 'tu_basededatos');
define('DB_USER', 'tu_usuario');
define('DB_PASSWORD', 'tu_contraseña');
define('DB_HOST', 'localhost');
Qué debes comprobar
- DB_NAME: debe ser el nombre exacto de tu base de datos.
- DB_USER: el usuario con permisos sobre esa base.
- DB_PASSWORD: la contraseña correcta. Ojo con los caracteres especiales.
- DB_HOST: normalmente es
localhost, pero a veces el hosting usa un host distinto comomysql.tudominio.com.
[WARNING] Si cambiaste la contraseña de MySQL recientemente desde el panel, es muy probable que el wp-config.php siga teniendo la antigua. Actualízalo y guarda los cambios.
Cómo encontrar los datos correctos
Si no recuerdas tus credenciales, puedes verlas desde Syspanel (puerto 2106):
- Entra en "Bases de datos".
- Ahí verás el nombre de la BD, el usuario y podrás cambiar la contraseña.
- Copia esos datos y pégalos en el
wp-config.php.
Paso 3: Revisa los datos de conexión en PrestaShop
En PrestaShop, la configuración de la base de datos se encuentra en el archivo app/config/parameters.php (en versiones 1.7 y superiores) o en config/settings.inc.php (en versiones 1.6 y anteriores).
Para PrestaShop 1.7+
- Ve a la carpeta
app/config/. - Abre el archivo
parameters.php. - Busca estas líneas:
'database_host' => 'localhost',
'database_name' => 'tu_basededatos',
'database_user' => 'tu_usuario',
'database_password' => 'tu_contraseña',
Para PrestaShop 1.6 o inferior
- Ve a la carpeta
config/. - Abre
settings.inc.php. - Busca:
define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'tu_basededatos');
define('_DB_USER_', 'tu_usuario');
define('_DB_PASSWD_', 'tu_contraseña');
Consejo extra
Si has cambiado la contraseña de la base de datos desde el panel, recuerda actualizarla también en este archivo. Es uno de los errores base de datos PrestaShop más comunes.
Paso 4: Verifica que el usuario tiene permisos sobre la base de datos
A veces los datos son correctos, pero el usuario no tiene todos los permisos necesarios. Esto puede pasar tras una migración o una restauración.
Desde Syspanel
- Accede a Syspanel por el puerto 2106.
- Ve a la sección "Bases de datos".
- Selecciona tu base de datos y haz clic en "Editar usuario" o "Permisos".
- Asegúrate de que el usuario tiene todos los privilegios (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, INDEX, etc.).
Desde phpMyAdmin
Si tu hosting tiene phpMyAdmin:
- Entra en phpMyAdmin.
- Selecciona tu base de datos.
- Ve a la pestaña "Privilegios".
- Edita el usuario y marca todos los privilegios.
[INFO] Si no estás seguro de cómo hacerlo, pide ayuda a tu proveedor de hosting. Es un proceso rápido y no debería llevar más de 5 minutos.
Paso 5: Comprueba si el servidor MySQL está saturado o caído
A veces el problema no es tuyo, sino del servidor. Si tu web es compartida, es posible que otro usuario esté saturando el MySQL y eso afecte a tu conexión.
Señales de saturación
- La web va lenta antes de dar el error.
- El error aparece solo en horas punta.
- Otras webs en el mismo servidor también caen.
Qué hacer
- Contacta con el soporte de tu hosting y pregunta si hay problemas de rendimiento.
- Si tienes un VPS, revisa el uso de CPU y memoria con comandos como
htopotop. - Considera optimizar tu base de datos (desactivar plugins pesados, usar caché, etc.).
Paso 6: Repara la base de datos desde phpMyAdmin
A veces la base de datos está corrupta y eso impide la conexión. La buena noticia es que MySQL tiene una herramienta de reparación integrada.
Cómo reparar tablas
- Accede a phpMyAdmin desde tu panel (en Syspanel, puerto 2106, sección "Bases de datos" → "phpMyAdmin").
- Selecciona tu base de datos.
- Marca todas las tablas (clic en "Seleccionar todo").
- En el desplegable inferior, elige "Reparar tabla".
- Espera a que termine el proceso.
[TIP] Si phpMyAdmin no te deja reparar, puedes hacerlo por línea de comandos:
mysqlcheck -u usuario -p --auto-repair nombre_basededatos
Paso 7: Revisa los logs de error
Los logs son tus mejores amigos a la hora de solucionar errores de base de datos. Te dirán exactamente qué está fallando.
Dónde encontrar los logs
- WordPress: activa el modo debug en el
wp-config.phpañadiendo:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
Luego revisa el archivo wp-content/debug.log.
-
PrestaShop: los logs están en la carpeta
var/logs/(versiones 1.7+) olog/(versiones 1.6). Busca archivos comodev.logoprod.log. -
Servidor: si tienes acceso a la terminal, revisa
/var/log/mysql/error.log.
Qué buscar
- Mensajes de "Access denied" (acceso denegado).
- "Unknown database" (base de datos desconocida).
- "Too many connections" (demasiadas conexiones).
Paso 8: Borra la caché de WordPress y PrestaShop
A veces la caché guarda datos obsoletos que provocan conflictos.
En WordPress
- Entra en tu hosting y borra la carpeta
wp-content/cache/(si existe). - Si usas un plugin de caché (como W3 Total Cache), puedes renombrar la carpeta
wp-content/cacheawp-content/cache-backuptemporalmente.
En PrestaShop
- Ve a
var/cache/(en 1.7+) ocache/(en 1.6). - Borra el contenido de la carpeta
cache/(no la carpeta en sí, solo los archivos de dentro). - Si usas caché de Smarty, también puedes borrar la carpeta
var/cache/dev/yvar/cache/prod/.
[WARNING] Haz una copia de seguridad antes de borrar cualquier cosa, por si acaso.
Paso 9: Verifica la versión de PHP y MySQL
Tanto WordPress como PrestaShop requieren versiones mínimas de PHP y MySQL. Si tu servidor tiene versiones antiguas, pueden aparecer errores de conexión MySQL.
Versiones recomendadas
- WordPress: PHP 7.4 o superior, MySQL 5.6 o superior (o MariaDB 10.1+).
- PrestaShop 1.7: PHP 7.1 a 7.4 (PHP 8.0 puede dar problemas en versiones antiguas), MySQL 5.6+.
Cómo cambiar la versión de PHP
- En Syspanel (puerto 2106), ve a la sección "Web".
- Selecciona tu dominio.
- Busca el apartado de "Versión de PHP" y cámbiala a una compatible.
Paso 10: Restaura desde una copia de seguridad
Si nada de lo anterior funciona, puede que la base de datos esté demasiado dañada. En ese caso, lo más rápido es restaurar desde una copia reciente.
Desde Syspanel
- Entra en Syspanel por el puerto 2106.
- Ve a "Bases de datos".
- Selecciona tu base de datos.
- Busca la opción de "Restaurar" o "Backup".
- Sube el archivo
.sqlo.gzque tengas guardado.
[INFO] Si no tienes copias, algunos hostings guardan backups automáticos. Pregunta al soporte.
Preguntas frecuentes (FAQ)
¿Qué hago si no sé cuál es mi contraseña de MySQL?
Puedes cambiarla desde Syspanel (puerto 2106) en la sección "Bases de datos". Después de cambiarla, actualiza los archivos de configuración de WordPress o PrestaShop.
¿Por qué me sale "Too many connections"?
Esto significa que el servidor MySQL tiene demasiadas conexiones abiertas. Puede deberse a picos de tráfico o a un plugin que no cierra bien las conexiones. Prueba a reiniciar MySQL o contacta con tu hosting.
¿Es seguro borrar la caché?
Sí, es seguro. La caché se regenera automáticamente. Eso sí, la web irá un poco más lenta durante unos minutos hasta que se vuelva a generar.
¿Puedo evitar estos errores en el futuro?
Sí, te recomiendo:
- Actualizar WordPress/PrestaShop y los plugins/módulos.
- Usar un plugin de caché.
- Hacer copias de seguridad semanales.
- Monitorizar el espacio y el rendimiento de la base de datos.
Conclusión
Los errores de base de datos en WordPress y PrestaShop son molestos, pero casi siempre tienen solución. En el 90% de los casos, el problema está en los datos de conexión o en el servidor MySQL. Con estos pasos, podrás diagnosticar y arreglar el fallo sin necesidad de ser un experto.
Recuerda: si usas Syspanel, el acceso es por el puerto 2106. Y si te quedas atascado, no dudes en contactar con tu proveedor de hosting. Ellos tienen herramientas para ver el estado del servidor que tú no puedes ver.
Espero que esta guía te haya sido útil. ¡Tu web volverá a estar en línea en un abrir y cerrar de ojos!
