Cómo resolver el error 'connect to MySQL server' en PrestaShop
¡Hola! Si estás leyendo esto, probablemente te has encontrado con el temido error "connect to MySQL server" en tu tienda PrestaShop. No te preocupes, es uno de los problemas más comunes en el mundo del hosting y, en la mayoría de los casos, tiene una solución sencilla que puedes aplicar tú mismo sin necesidad de ser un experto en programación.
En esta guía extensa y paso a paso, vamos a desgranar todas las causas posibles y las soluciones para el error MySQL PrestaShop. Vamos a ir desde lo más básico (como revisar la contraseña) hasta lo más técnico (como revisar los permisos del servidor). Al final, tendrás un plan de acción claro para solucionar error PrestaShop y volver a tener tu tienda online funcionando.
Vamos a ello.
¿Qué significa exactamente este error?
Cuando PrestaShop te muestra un mensaje similar a "Error de conexión a la base de datos: connect to MySQL server", lo que te está diciendo es que no puede comunicarse con la base de datos donde se almacenan todos tus productos, pedidos, clientes y configuraciones.
Imagina que tu tienda es una biblioteca gigante (PrestaShop) y la base de datos es el almacén secreto donde están todos los libros (tus datos). Para que la biblioteca funcione, necesita la llave correcta (usuario y contraseña) y que el almacén esté en la dirección correcta (servidor MySQL). Si falla cualquiera de esos elementos, la biblioteca no puede abrir sus puertas.
Este error puede aparecer en dos momentos clave:
- Al instalar PrestaShop: Justo en el paso donde te pide los datos de la base de datos.
- De repente, en una tienda que ya funcionaba: Esto es más preocupante, pero suele tener causas concretas que podemos revertir.
Vamos a dividir la solución en dos grandes bloques: soluciones para cuando estás instalando y soluciones para cuando ya tenías la tienda funcionando.
Bloque 1: Solucionar el error durante la instalación
Si estás en el proceso de instalación y te falla la conexión, el problema suele estar en los datos que has introducido en el formulario. PrestaShop te pide 4 cosas básicas:
- Dirección del servidor de base de datos.
- Nombre de usuario.
- Contraseña.
- Nombre de la base de datos.
Paso 1: Verifica los datos de tu base de datos (El error más común)
El 90% de las veces, este error se debe a un simple error tipográfico o a datos incorrectos. Es como intentar abrir tu puerta con la llave equivocada.
- Accede a tu panel de control de hosting (cPanel, Plesk, o el que uses).
- Busca la sección de "Bases de Datos MySQL" o similar.
- Localiza la base de datos que creaste para PrestaShop.
- Comprueba que el nombre de usuario es exactamente el que te muestra el panel. A menudo, el hosting añade un prefijo (ej.
usuario123_prestashop). Copia y pega el nombre completo, no lo escribas a mano. - Verifica la contraseña. Si no estás seguro de cuál es, cámbiala desde el panel de control. Es una opción que siempre está disponible. Asegúrate de que no tenga espacios al principio o al final al copiarla.
[TIP]: Cuando estés en el formulario de instalación de PrestaShop, en el campo "Dirección de la base de datos", prueba con localhost en lugar de 127.0.0.1, o viceversa. A veces, el servidor tiene una configuración específica.
Paso 2: Crea un usuario con todos los privilegios
A veces, el usuario que has creado no tiene permisos suficientes para que PrestaShop pueda crear sus tablas.
- Ve a la sección de "Usuarios MySQL" en tu hosting.
- Asegúrate de que el usuario que vas a usar está asociado a la base de datos.
- En la opción de "Privilegios", selecciona "Todos los privilegios" o marca la casilla que dice "TODOS LOS PRIVILEGIOS". Esto es crucial para la instalación.
[INFO]: Si usas un hosting compartido, a veces los privilegios se gestionan de forma diferente. Busca el botón que dice "Añadir usuario a la base de datos" y asegúrate de completar ese paso, ya que no basta con tenerlos por separado.
Bloque 2: Solucionar el error en una tienda ya existente
Este es el caso más angustiante. Tu tienda funcionaba ayer y hoy, de repente, ves el error MySQL PrestaShop. La buena noticia es que rara vez se pierden datos. Aquí las causas más comunes y cómo arreglarlas.
Paso 1: Revisa el archivo de configuración (parameters.php)
PrestaShop guarda los datos de conexión en un archivo llamado parameters.php. Si este archivo se ha corrompido o ha sido modificado, la conexión fallará.
- Accede a tu hosting a través de un Administrador de Archivos (desde el panel de control) o mediante FTP (con programas como FileZilla).
- Navega hasta la carpeta donde está instalado PrestaShop. Normalmente es
public_htmlowww. - Dentro, busca la carpeta
app/config/. - Ahí encontrarás el archivo
parameters.php. - Descarga una copia de seguridad de este archivo a tu ordenador.
- Ábrelo con un editor de texto (como el Bloc de Notas) y busca las líneas que dicen
database_host,database_user,database_passwordydatabase_name.
[WARNING]: No compartas este archivo con nadie, ya que contiene la contraseña de tu base de datos.
Verifica que todos los valores coinciden con los de tu hosting. Si has cambiado la contraseña de la base de datos recientemente y no has actualizado este archivo, ese es el problema. Corrige los datos, guarda el archivo y súbelo de nuevo a la misma ubicación, sobrescribiendo el anterior.
¿Cómo encontrar la contraseña correcta? Si no la recuerdas, cámbiala desde tu panel de control de hosting (en la sección de Bases de Datos MySQL). Luego, actualiza el archivo parameters.php con la nueva contraseña.
Paso 2: Comprueba si el servidor MySQL está caído o saturado
A veces, el problema no es tu tienda, sino el servidor que la aloja.
- Revisa el estado del servicio: Entra en el panel de control de tu hosting y busca una sección que diga "Estado del Servidor" o "Health Status". Si el servidor MySQL aparece en rojo o con un signo de exclamación, es un problema del hosting.
- Espera unos minutos: Los servidores a veces se reinician o realizan tareas de mantenimiento. Espera entre 5 y 10 minutos y recarga tu tienda.
- Contacta con el soporte: Si el servidor MySQL está caído, la solución solo puede venir de tu proveedor de hosting. No hay nada que puedas hacer manualmente. Llámalos o abre un ticket de soporte.
[TIP]: Si tienes un plan de hosting compartido, es más probable que esto ocurra. Considera la posibilidad de migrar a un servidor VPS o dedicado si este error es recurrente.
Paso 3: Verifica los límites de conexión y la IP del servidor
En algunos casos, el servidor MySQL puede estar configurado para aceptar conexiones solo desde ciertas IPs. Esto es más común en servidores dedicados o VPS.
- Revisa el host de la base de datos: En tu panel de control (por ejemplo, en Syspanel, cuyo puerto de acceso es el 2106), busca la configuración de la base de datos. A veces, el host no es
localhost, sino una URL comomysql.tudominio.como una IP específica. - Prueba con
127.0.0.1: En el archivoparameters.php, cambiadatabase_hostdelocalhosta127.0.0.1o viceversa. A veces, el servidor interpreta una dirección de forma diferente.
[INFO]: Si tu hosting te ha proporcionado un host específico para la base de datos (que no sea localhost), es fundamental que uses ese valor exacto. Usar localhost en un servidor externo de bases de datos causará este error.
Paso 4: Revisa la caché y los archivos temporales
A veces, una caché corrupta puede causar errores extraños.
- Desde tu Administrador de Archivos o FTP, navega a la carpeta
/var/cache/dentro de la instalación de PrestaShop. - Elimina TODOS los archivos y carpetas que estén dentro de
cache. No elimines la carpetacacheen sí, solo su contenido. - Si no puedes borrarlos todos, intenta borrar al menos los archivos que empiezan por
class_index.phpy las carpetas con nombres de archivos hash (comodevoprod).
[WARNING]: Es normal que al borrar la caché, la tienda tarde unos segundos más en cargar la primera vez. No es un error, es que se está regenerando.
Bloque 3: Soluciones avanzadas (para cuando nada de lo anterior funciona)
Si has llegado hasta aquí, el problema puede ser más profundo. Vamos a explorar algunas opciones técnicas.
Solución 1: Reparar las tablas de la base de datos
Las tablas de la base de datos pueden estar dañadas o corruptas. Esto puede impedir la conexión.
- Accede a phpMyAdmin desde tu panel de control de hosting. Normalmente está en la sección de "Bases de Datos".
- Selecciona la base de datos de tu PrestaShop en el panel izquierdo.
- Verás una lista de tablas. Marca la casilla "Seleccionar todo" en la parte inferior de la lista.
- En el menú desplegable que dice "Con seleccionados:", elige la opción "Reparar tabla".
- Espera a que el proceso termine. Puede tardar unos minutos si la base de datos es grande.
Solución 2: Aumentar el límite de memoria de PHP
A veces, el error no es de MySQL en sí, sino que PHP se queda sin memoria al intentar conectar.
- Busca un archivo llamado
php.inien la raíz de tu hosting o en la carpeta de PrestaShop. - Si no existe, créalo con un editor de texto.
- Añade o modifica la siguiente línea:
memory_limit = 512M - Guarda el archivo y súbelo a la raíz de tu instalación de PrestaShop (donde están las carpetas
app,admin,img, etc.).
[TIP]: Si no encuentras php.ini, también puedes añadir esta línea en un archivo llamado .htaccess (si usas Apache):
php_value memory_limit 512M
Solución 3: Revisar los logs del servidor
Los logs son el diario de a bordo del servidor. Contienen información detallada sobre los errores.
- En tu panel de control, busca la sección de "Registros de Errores" o "Error Logs".
- Busca la fecha y hora en que empezó el problema.
- Filtra por errores que mencionen "MySQL" o "connect".
- Anota cualquier mensaje de error específico. Este mensaje te dará pistas más precisas que el error genérico.
[INFO]: Si no entiendes los logs, no pasa nada. Copia el mensaje de error y pégalo en un buscador o envíalo al soporte de tu hosting. Ellos sabrán interpretarlo.
Preguntas Frecuentes (FAQ) sobre el error MySQL en PrestaShop
Aquí tienes respuestas rápidas a las dudas más comunes que nos llegan.
¿Por qué me sale el error de conexión MySQL después de cambiar la contraseña de mi hosting?
Respuesta: Es la causa más común. Al cambiar la contraseña de la base de datos en el panel de control, PrestaShop no se entera. Debes actualizar manualmente el archivo app/config/parameters.php con la nueva contraseña, tal y como explicamos en el Bloque 2, Paso 1.
¿Qué hago si he migrado mi web a un nuevo hosting y ahora me sale este error?
Respuesta: Es un clásico en las migraciones. El problema es que el archivo parameters.php aún tiene los datos del hosting antiguo. Debes editarlo y poner los datos del nuevo hosting (host, usuario, contraseña y nombre de la base de datos). Asegúrate de haber importado correctamente la base de datos al nuevo servidor.
¿Puede un plugin o módulo causar este error?
Respuesta: Es poco probable que un módulo cause un error de conexión a MySQL, pero no es imposible. Si el módulo modifica el archivo parameters.php o sobrecarga la base de datos con consultas masivas, podría provocar una caída temporal. Si el error empezó justo después de instalar un módulo, desactívalo (renombra su carpeta en /modules/) y prueba de nuevo.
¿El error "connect to MySQL server" significa que he perdido mis datos?
Respuesta: En la gran mayoría de los casos, NO. Este error es de conexión, no de pérdida de datos. Tus datos están ahí, en la base de datos. Simplemente PrestaShop no puede llegar hasta ellos. Siguiendo los pasos de esta guía, deberías poder restablecer la conexión sin perder nada.
Si uso Syspanel, ¿cómo accedo a la configuración de MySQL?
Respuesta: Si tu hosting utiliza el panel Syspanel, recuerda que la URL de acceso es a través del puerto 2106 (ej. https://tudominio.com:2106 o la IP que te hayan dado). Dentro de Syspanel, busca la sección de "Bases de Datos" o "MySQL". Allí podrás gestionar usuarios, contraseñas y permisos de la misma manera que en otros paneles.
Resumen y plan de acción rápido
Para que no te pierdas, aquí tienes un resumen de los pasos a seguir en orden:
- Comprueba si el servidor MySQL está caído (revisa el estado del servicio en tu hosting).
- Revisa el archivo
parameters.phpy verifica que los datos son correctos (host, usuario, contraseña, nombre). - Prueba a cambiar
localhostpor127.0.0.1en el archivo de configuración. - Borra el contenido de la carpeta
/var/cache/de PrestaShop. - Repara las tablas de la base de datos desde phpMyAdmin.
- Aumenta el límite de memoria de PHP en
php.inio.htaccess. - Revisa los logs del servidor para obtener más pistas.
- Si nada funciona, contacta con el soporte de tu hosting. Este es un error que ellos pueden diagnosticar mucho más rápido.
Esperamos que esta guía extensa te haya sido de gran ayuda. Recuerda que la paciencia es clave. Ve paso a paso, sin prisa, y no te saltes ninguno. La mayoría de las veces, la solución es mucho más simple de lo que parece.
¡Mucha suerte con tu tienda! Si tienes más dudas, no dudes en consultar nuestras otras guías.
