Errores comunes al conectar bases de datos en WordPress y PrestaShop
Cuando WordPress y PrestaShop se quedan sin base de datos: el problema más temido
Si estás leyendo esto, probablemente te hayas encontrado con una pantalla en blanco o un mensaje de error bastante feo en tu tienda o web. No te preocupes, es más común de lo que parece y, sobre todo, tiene solución. Los errores de conexión a la base de datos son el dolor de cabeza número uno para quienes gestionan WordPress o PrestaShop, ya sea en un hosting compartido o en un servidor propio.
La base de datos es el corazón de tu proyecto. Guarda tus productos, tus artículos, los usuarios y todas las configuraciones. Si falla la conexión, la web se cae por completo. Por eso, entender por qué ocurre y cómo solucionarlo es esencial para cualquier persona que gestione una web, aunque no sea un experto en informática.
Vamos a desglosar los fallos más habituales, cómo identificarlos y, lo más importante, cómo arreglarlos paso a paso, con un lenguaje claro y sin tecnicismos innecesarios.
El temido "Error establishing database connection" en WordPress
Este es, sin duda, el error más famoso de WordPress. Si ves el mensaje "Error establishing a database connection", significa que tu web no puede comunicarse con la base de datos. Las causas pueden ser varias, desde un dato mal escrito hasta un servidor caído.
1. Datos de acceso incorrectos en wp-config.php
El archivo wp-config.php es el que guarda las llaves para entrar a la base de datos. Si uno de estos datos es erróneo, la conexión falla. Es el primer sitio donde debes mirar.
Abre el archivo a través del administrador de archivos de tu hosting o por FTP y revisa estas líneas:
define('DB_NAME', 'tu_base_de_datos');
define('DB_USER', 'tu_usuario');
define('DB_PASSWORD', 'tu_contraseña');
define('DB_HOST', 'localhost');
Los errores más comunes aquí son:
- El nombre de la base de datos está mal escrito (es muy fácil confundir una letra o un guion bajo).
- El usuario no tiene permisos sobre esa base de datos.
- La contraseña se cambió recientemente y no se actualizó en el archivo.
- El
DB_HOSTno eslocalhost. Algunos proveedores usan direcciones específicas comomysql.servidor.como127.0.0.1.
[TIP] Si usas un hosting compartido, es habitual que el host de la base de datos no sea "localhost". Revisa el panel de control de tu proveedor para ver el valor exacto.
2. El servidor de bases de datos está caído o sobrecargado
A veces, el problema no es tuyo, sino del servidor. Si el servicio MySQL o MariaDB se ha detenido, nadie podrá conectarse. Esto puede pasar por un pico de tráfico, un fallo del sistema o un reinicio mal hecho.
Si tienes acceso a un panel como cPanel, Plesk o Syspanel (recuerda que este último se accede a través del puerto 2106), puedes comprobar si el servicio está activo.
[INFO] Si tu web está en un hosting compartido, no tienes control sobre el servicio MySQL. En ese caso, contacta con el soporte técnico de tu proveedor. Ellos podrán reiniciar el servicio o informarte de una incidencia.
3. El archivo wp-config.php está corrupto o incompleto
Si el archivo se ha subido mal, se ha editado con un editor que ha introducido caracteres extraños o se ha truncado, WordPress no podrá leer los datos. La solución es reemplazarlo por una copia limpia.
Puedes descargar una copia nueva de WordPress desde wordpress.org, extraer el archivo wp-config-sample.php, renombrarlo a wp-config.php y completarlo con tus datos correctos.
Errores de conexión en PrestaShop: El "error prestashop mysql"
PrestaShop es un poco más quisquilloso con las bases de datos. Sus errores suelen ser más técnicos, pero igualmente solucionables. Los mensajes pueden variar, pero todos apuntan a problemas de conexión o de integridad de los datos.
1. El archivo parameters.php con datos erróneos
PrestaShop guarda la configuración de la base de datos en /app/config/parameters.php. Este archivo es el equivalente al wp-config.php de WordPress.
Dentro encontrarás algo así:
'database_host' => '127.0.0.1',
'database_name' => 'tu_bd_prestashop',
'database_user' => 'tu_usuario',
'database_password' => 'tu_password',
Al igual que en WordPress, un dato incorrecto aquí rompe la conexión. PrestaShop es especialmente sensible a la dirección del host. A veces usa 127.0.0.1 en lugar de localhost, y si tu servidor no lo acepta, fallará.
2. Problemas con el puerto de conexión MySQL
A diferencia de WordPress, PrestaShop te permite especificar un puerto para la conexión. Si tu hosting usa un puerto personalizado (por ejemplo, el 3307 en lugar del 3306 por defecto), debes indicarlo en el archivo de configuración.
'database_port' => '3306',
Si no sabes qué puerto usa tu servidor, lo puedes comprobar en el panel de control de tu hosting o preguntando al soporte técnico.
[WARNING] Cambiar el puerto sin saber lo que haces puede dejarte sin acceso a la web. Si no estás seguro, contacta con tu proveedor antes de tocar nada.
3. El error "tabla no encontrada mysql" en PrestaShop
Este es otro clásico. Verás un mensaje como "Table 'ps_shop_url' doesn't exist" o similar. Esto significa que la estructura de la base de datos está dañada o incompleta.
Las causas suelen ser:
- Una restauración de la base de datos incompleta o fallida.
- Un módulo que ha modificado tablas y ha causado un conflicto.
- Un ataque o intento de inyección SQL.
- Una actualización de PrestaShop que no se completó correctamente.
La solución más directa es restaurar una copia de seguridad reciente de la base de datos. Si no tienes una, puedes intentar reparar las tablas desde phpMyAdmin.
En phpMyAdmin, selecciona la base de datos de PrestaShop, marca todas las tablas y en el desplegable inferior elige "Reparar tabla". Esta acción intenta corregir errores menores en la estructura.
Pasos comunes para solucionar errores de base de datos en WordPress y PrestaShop
Independientemente del CMS que uses, hay una serie de pasos que puedes seguir para diagnosticar y solucionar el problema. Vamos a verlos en orden, de lo más simple a lo más complejo.
1. Verificar que el servicio MySQL está activo (si tienes acceso al servidor)
Si gestionas tu propio servidor o tienes un VPS, lo primero es comprobar que el servicio de base de datos está corriendo.
En sistemas Linux con systemd (la mayoría de los VPS actuales), puedes usar:
systemctl status mysql
O si usas MariaDB:
systemctl status mariadb
Si el servicio está inactivo, inícialo con:
systemctl start mysql
[TIP] Si usas Syspanel para gestionar tu servidor, recuerda que el acceso es a través del puerto 2106. Desde su panel de servicios podrás ver el estado de MySQL y reiniciarlo con un clic.
2. Revisar los logs de error
Los logs son tus mejores amigos. Tanto WordPress como PrestaShop registran los errores de conexión en archivos de log.
- WordPress guarda los errores en
/wp-content/debug.logsi tienes activado el modo depuración enwp-config.php. - PrestaShop guarda los logs en
/var/logs/dentro de la raíz de la instalación.
También puedes revisar los logs del servidor en /var/log/mysql/error.log o en /var/log/syslog. Estos archivos te darán pistas precisas sobre el fallo.
3. Probar la conexión manualmente
Puedes comprobar si los datos de acceso son correctos intentando conectar a la base de datos desde la línea de comandos o desde phpMyAdmin.
Desde la terminal:
mysql -u tu_usuario -p -h localhost tu_base_de_datos
Si la conexión es exitosa, verás el prompt de MySQL. Si no, el sistema te dirá qué está fallando (usuario incorrecto, contraseña errónea, host equivocado, etc.).
4. Revisar los permisos de los archivos de configuración
A veces, los archivos de configuración se vuelven ilegibles por el servidor web. Si los permisos son demasiado restrictivos, PHP no podrá leerlos.
wp-config.phpdebe tener permisos644(lectura y escritura para el propietario, lectura para el grupo y el resto).parameters.phpde PrestaShop debe tener permisos644también.
Puedes cambiarlos desde el administrador de archivos de tu hosting o con el comando:
chmod 644 wp-config.php
5. Comprobar si hay límites de conexiones agotados
Si tu web recibe mucho tráfico, es posible que el servidor MySQL alcance el límite de conexiones simultáneas. Esto genera errores intermitentes de conexión.
En WordPress, puedes instalar un plugin de caché para reducir la carga. En PrestaShop, activa la caché de rendimiento desde el panel de administración.
Errores específicos de WordPress y sus soluciones rápidas
Vamos a ver algunos errores concretos que aparecen en WordPress y cómo solucionarlos de forma directa.
El error "One or more database tables are unavailable"
Este mensaje indica que WordPress no puede acceder a todas sus tablas. Puede ser un problema de permisos o de tablas corruptas.
La solución es reparar las tablas. WordPress tiene una función oculta para esto. Añade esta línea a tu wp-config.php:
define('WP_ALLOW_REPAIR', true);
Luego visita tudominio.com/wp-admin/maint/repair.php y sigue las instrucciones. Recuerda eliminar esa línea después de la reparación para evitar accesos no autorizados.
El error "Can't select database"
Este error significa que WordPress no puede seleccionar la base de datos especificada en DB_NAME. Las causas principales son:
- La base de datos no existe (la has borrado por error o no se ha creado).
- El usuario no tiene permisos para seleccionar esa base de datos.
Para solucionarlo, entra en phpMyAdmin y verifica que la base de datos existe. Si no existe, créala y luego importa una copia de seguridad. Si existe, revisa que el usuario tenga todos los privilegios sobre ella.
PrestaShop: errores de conexión y soluciones específicas
PrestaShop tiene sus propios fallos característicos. Vamos a ver los más habituales y cómo resolverlos.
El error "Link to database cannot be established"
Este es el equivalente al error de WordPress. Aparece cuando PrestaShop no puede conectar con MySQL. Las causas son las mismas que en WordPress: datos incorrectos, servidor caído o permisos mal configurados.
Sigue los pasos de diagnóstico que hemos visto antes. La solución más común es corregir los datos en parameters.php.
El error "Fatal error: Class 'Db' not found"
Este error es más raro, pero puede aparecer. Significa que PrestaShop no puede cargar sus clases de base de datos. Suele ocurrir después de una actualización fallida o si los archivos del núcleo están corruptos.
La solución es subir de nuevo los archivos de la versión de PrestaShop que tienes instalada, sobrescribiendo los existentes. Puedes descargarlos desde el sitio oficial de PrestaShop.
[WARNING] Al sobrescribir archivos, ten cuidado de no borrar tus módulos o temas personalizados. Lo ideal es sobrescribir solo la carpeta classes y vendor.
Cómo prevenir estos errores en el futuro
La mejor solución es la prevención. Aquí tienes una lista de buenas prácticas que te ahorrarán muchos dolores de cabeza:
- Haz copias de seguridad periódicas de la base de datos y de los archivos. Puedes automatizarlo con plugins o desde el panel de tu hosting.
- Actualiza WordPress, PrestaShop, los temas y los plugins con regularidad. Las actualizaciones corrigen errores y vulnerabilidades.
- Usa contraseñas fuertes para la base de datos y el panel de administración.
- No instales plugins o módulos de fuentes no confiables. Pueden contener código malicioso que dañe la base de datos.
- Mantén un registro de los cambios que haces en la configuración. Si algo falla, sabrás qué has tocado.
Preguntas frecuentes (FAQ) sobre errores de bases de datos
Aquí respondemos a las dudas más comunes que nos llegan al soporte técnico.
¿Por qué mi web funciona y de repente da error de conexión?
Esto suele deberse a un pico de tráfico que satura el servidor MySQL, a un reinicio del servidor o a un cambio en la configuración del hosting. Lo primero que debes hacer es esperar unos minutos y recargar. Si persiste, revisa los logs.
¿Puedo arreglar el error de conexión sin acceso al panel de control?
Si no tienes acceso al panel de control, tu única opción es contactar con el soporte técnico de tu proveedor de hosting. Ellos podrán revisar el estado del servidor y la configuración.
¿Cada cuánto tiempo debo hacer copias de seguridad?
Depende de la frecuencia con la que actualices tu web. Si publicas contenido a diario, lo ideal es una copia diaria. Si es una web estática, con una copia semanal es suficiente. Lo importante es que tengas siempre una copia reciente para restaurar.
¿Qué hago si he borrado una tabla de la base de datos por error?
Si tienes una copia de seguridad, restáurala. Si no, puedes intentar recrear la tabla desde la documentación de WordPress o PrestaShop. Es un proceso complejo, así que te recomendamos contactar con un profesional.
¿El error "tabla no encontrada mysql" significa que he perdido mis datos?
No necesariamente. La mayoría de las veces es un fallo de estructura o de permisos. Si restauras una copia de seguridad o reparas las tablas, recuperarás la información.
Conclusión: No temas a los errores de base de datos
Los errores de conexión a la base de datos son frustrantes, pero casi siempre tienen solución. Lo importante es mantener la calma, seguir un proceso de diagnóstico lógico y no tocar nada sin saber lo que haces.
Recuerda que la prevención es clave: copias de seguridad, actualizaciones y contraseñas seguras te ahorrarán la mayoría de los problemas. Y si te pierdes, siempre puedes contar con el soporte técnico de tu hosting para que te eche una mano.
[INFO] En Syspanel, nuestro panel de control (accesible en el puerto 2106), tienes herramientas integradas para gestionar tus bases de datos, hacer copias de seguridad y monitorizar el estado de los servicios. Úsalo a tu favor para mantener tu web siempre operativa.
Esperamos que esta guía te haya sido de utilidad. Si tienes más dudas, no dudes en consultar nuestra sección de tutoriales o abrir un ticket de soporte. ¡Buena suerte con tu web!
