🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo solucionar el error 'Cannot connect to MySQL' en PrestaShop

Actualizado el 22 de junio de 2026

¿Qué significa el error "Cannot connect to MySQL" en PrestaShop?

Si estás viendo el mensaje "Cannot connect to MySQL" en tu tienda PrestaShop, no te preocupes, es uno de los errores más comunes y, en la mayoría de los casos, tiene solución en pocos minutos. Este error indica que PrestaShop no puede establecer una conexión con la base de datos donde se almacenan tus productos, clientes y pedidos.

Piensa en tu base de datos como el cerebro de tu tienda: si PrestaShop no puede "hablar" con ella, la tienda no puede funcionar. Las causas pueden ir desde un cambio de contraseña, un servidor sobrecargado, hasta archivos de configuración corruptos.

En esta guía completa, paso a paso, te explicaré cómo solucionar el error cannot connect mysql prestashop, incluso si no tienes experiencia técnica. Vamos a ello.


Antes de empezar: prepara tu entorno de trabajo

Para solucionar este problema necesitarás dos cosas:

  1. Acceso a tu panel de control de hosting (cPanel, Plesk, Syspanel, etc.). Si tu hosting usa Syspanel, recuerda que el puerto de acceso es el 2106.
  2. Acceso al administrador de tu base de datos (normalmente phpMyAdmin).

[INFO] No te saltes esta preparación. Tener ambos accesos a mano te ahorrará tiempo y frustración.


Paso 1: Verifica que el servidor MySQL esté activo

El error más básico es que el servidor de base de datos esté caído. Esto puede pasar por mantenimiento, por un ataque o por un fallo del hosting.

  1. Accede a tu panel de control de hosting.
  2. Busca la sección de "Bases de Datos" o "MySQL".
  3. Deberías ver un listado de tus bases de datos y su estado. Si ves un icono rojo o un mensaje de "caído", intenta reiniciar el servicio MySQL desde el propio panel.

[WARNING] Si no encuentras la opción de reiniciar, contacta con tu proveedor de hosting. A veces solo ellos pueden reiniciar el servicio. No intentes reiniciar nada desde SSH si no sabes lo que haces.


Paso 2: Revisa el archivo de configuración de PrestaShop (settings.inc.php)

La causa más frecuente del error base de datos prestashop es que los datos de conexión en el archivo de configuración sean incorrectos. PrestaShop guarda estos datos en un archivo llamado settings.inc.php.

¿Dónde está este archivo? Está en la carpeta raíz de tu instalación, dentro de la carpeta config. La ruta típica es: tu-dominio.com/config/settings.inc.php.

¿Cómo editarlo?

  1. Accede a tu hosting mediante el Administrador de Archivos del panel o mediante FTP (FileZilla, por ejemplo).
  2. Navega hasta la carpeta config y busca el archivo settings.inc.php.
  3. Haz clic derecho y selecciona "Editar" (o descárgalo, edítalo y vuelve a subirlo).
  4. Busca las líneas que empiezan por define('_DB_SERVER_', define('_DB_NAME_', define('_DB_USER_' y define('_DB_PASSWD_'.

Aquí tienes un ejemplo de cómo se ve:

define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'tu_basededatos');
define('_DB_USER_', 'tu_usuario');
define('_DB_PASSWD_', 'tu_contraseña');

Ahora, verifica estos datos:

  • _DB_SERVER_: Normalmente es localhost, pero algunos hostings usan una dirección como mysql.tudominio.com o 127.0.0.1. Confirma este dato con tu hosting.
  • _DB_NAME_: El nombre de tu base de datos. Debe coincidir exactamente con el que ves en tu panel de hosting.
  • _DB_USER_: El usuario de la base de datos.
  • _DB_PASSWD_: La contraseña de ese usuario.

Corrige cualquier error tipográfico. Es muy común que una contraseña cambie y no se actualice aquí.

[TIP] Si no recuerdas tu contraseña, puedes cambiarla desde tu panel de hosting (por ejemplo, en cPanel o Syspanel) y luego actualizar este archivo con la nueva contraseña. Asegúrate de que el usuario tenga todos los privilegios sobre la base de datos.


Paso 3: Comprueba los datos de acceso a la base de datos en tu panel de hosting

A veces el problema no está en el archivo de PrestaShop, sino que los datos que tienes en ese archivo ya no son válidos en tu servidor.

  1. Ve a tu panel de control de hosting.
  2. Busca la sección "Bases de Datos MySQL".
  3. Ahí verás el nombre exacto de tu base de datos y el usuario asociado.
  4. Compara estos datos con los que tienes en settings.inc.php.
  5. Si no coinciden, actualiza el archivo de configuración con los datos correctos.

[WARNING] En algunos paneles como cPanel, el nombre de la base de datos y el usuario llevan un prefijo con tu nombre de usuario (ej. usuario_bd). Asegúrate de incluirlo completo en el archivo de configuración.


Paso 4: Verifica que el usuario tenga permisos correctos

Un usuario puede existir, pero no tener permisos para acceder a la base de datos. Esto es más común de lo que parece.

  1. En tu panel de hosting, busca la opción de "Gestionar permisos" o "Privilegios" de la base de datos.
  2. Selecciona tu base de datos y haz clic en "Gestionar".
  3. Marca la casilla "TODOS LOS PRIVILEGIOS" o asegúrate de que al menos estén marcados SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, DROP.
  4. Guarda los cambios.

Paso 5: Prueba la conexión con phpMyAdmin

Esta es una prueba rápida para saber si el problema es de PrestaShop o de la base de datos en sí.

  1. Accede a phpMyAdmin desde tu panel de hosting (normalmente hay un botón directo).
  2. Introduce el usuario y la contraseña que tienes en tu archivo settings.inc.php.
  3. Selecciona la base de datos que usa PrestaShop.
  • Si puedes entrar y ver las tablas (como ps_products, ps_orders, etc.): El problema está en la configuración de PrestaShop o en la conexión entre la tienda y el servidor.
  • Si no puedes entrar: El problema es de credenciales. Revisa los pasos 2 y 3.

[TIP] Si phpMyAdmin te da error, pero en el panel de hosting la base de datos aparece como "activa", el problema puede ser un bloqueo temporal del servidor. Espera unos minutos y reintenta.


Paso 6: Revisa los logs de error de PrestaShop y del servidor

Los logs son tus mejores aliados para diagnosticar el prestashop mysql error.

¿Dónde están los logs de PrestaShop?

En la carpeta var/logs de tu instalación (en versiones modernas). Busca archivos como prod.log o dev.log.

¿Dónde están los logs del servidor?

En tu panel de hosting, busca la sección de "Registros de errores" o "Error Logs".

Abre el archivo de logs más reciente y busca la palabra "MySQL" o "Connection". Verás un mensaje más detallado como "Access denied for user 'usuario'@'localhost' (using password: YES)" o "Unknown database 'nombre_bd'".

  • "Access denied" significa que el usuario o la contraseña son incorrectos.
  • "Unknown database" significa que el nombre de la base de datos es incorrecto.
  • "Can't connect to MySQL server on 'localhost' (111)" indica que el servidor MySQL no está accesible (revisa el Paso 1).

Paso 7: Solución avanzada: Reparar las tablas de la base de datos

Si la conexión funciona pero PrestaShop sigue dando error, es posible que algunas tablas estén corruptas. Esto puede pasar tras una caída del servidor.

  1. Entra en phpMyAdmin (con los datos correctos).
  2. Selecciona tu base de datos de PrestaShop.
  3. Haz clic en la pestaña "Exportar" para hacer una copia de seguridad de seguridad (por si acaso).
  4. Vuelve a la pestaña "Estructura" (o "Base de datos").
  5. Marca la casilla "Seleccionar todo" (en la parte inferior).
  6. En el menú desplegable "Con selección", elige "Reparar tabla".

Esto intentará reparar cualquier tabla dañada. Si no funciona, tendrás que restaurar una copia de seguridad de la base de datos desde tu panel de hosting.

[WARNING] Reparar tablas puede tardar unos minutos. No cierres la ventana del navegador durante el proceso.


Paso 8: Comprueba el archivo .htaccess

Un archivo .htaccess corrupto puede estar redirigiendo mal las conexiones.

  1. En la raíz de tu instalación de PrestaShop, busca el archivo .htaccess.
  2. Renómbralo a .htaccess.bak (esto lo desactiva).
  3. Intenta acceder a tu tienda.
  • Si funciona: El problema era el .htaccess. Ve a tu administrador de PrestaShop (si puedes) y en Parámetros Avanzados > Rendimiento pulsa el botón "Regenerar el archivo .htaccess".
  • Si no funciona: Restaura el archivo a su nombre original.

Paso 9: Verifica la memoria PHP (límite de memoria)

Un límite de memoria PHP demasiado bajo puede provocar errores extraños, incluidos los de conexión a la base de datos.

  1. En la carpeta raíz de PrestaShop, busca el archivo config/defines.inc.php.
  2. Edítalo y busca la línea define('_PS_MEMORY_LIMIT_', '256M');.
  3. Si el valor es inferior a 256M, cámbialo a 512M o 1024M.
  4. Guarda el archivo y prueba de nuevo.

[TIP] Si no encuentras la línea, puedes añadirla justo después de la línea define('_PS_MODE_DEV_', false);.


Paso 10: Contacta con tu proveedor de hosting

Si has llegado hasta aquí y el error persiste, es hora de pedir ayuda profesional. El problema puede ser un firewall del servidor, un bloqueo de IP o un problema de configuración que solo ellos pueden ver.

Cuando contactes con ellos, ten a mano:

  • El mensaje de error exacto.
  • Los logs que has revisado.
  • Los pasos que ya has intentado.

Preguntas frecuentes (FAQ)

¿Por qué me sale este error después de cambiar la contraseña de mi hosting?

Es la causa más común. Cuando cambias la contraseña de la base de datos en tu panel de hosting, no se actualiza automáticamente en el archivo settings.inc.php de PrestaShop. Debes actualizarla manualmente siguiendo el Paso 2.

¿Puedo solucionar este error sin acceso al panel de hosting?

No, necesitas acceso al panel para revisar los datos de la base de datos o los logs. Si no tienes acceso, contacta con tu proveedor.

¿El error "Cannot connect to MySQL" puede deberse a un ataque informático?

Es posible, aunque menos común. Un ataque DDoS puede saturar el servidor de base de datos. Si sospechas de esto, contacta con tu hosting inmediatamente.

¿Pierdo mis datos si tengo este error?

No, no pierdes tus datos. El error solo impide que PrestaShop se conecte a la base de datos, pero los datos siguen almacenados en el servidor. Una vez que soluciones la conexión, todo volverá a la normalidad.

¿Qué hago si nada de esto funciona?

Restaurar una copia de seguridad de la base de datos desde tu panel de hosting es el siguiente paso. Esto revertirá la base de datos a un estado anterior donde todo funcionaba.


Conclusión: Resumen de pasos para solucionar el error

Para finalizar, te dejo un resumen visual de los pasos que debes seguir:

  1. Verifica que el servidor MySQL esté activo en tu panel de hosting.
  2. Revisa el archivo settings.inc.php y asegúrate de que los datos (servidor, nombre, usuario, contraseña) sean correctos.
  3. Comprueba los datos en tu panel de hosting y compáralos con el archivo.
  4. Verifica los permisos del usuario de la base de datos.
  5. Prueba la conexión con phpMyAdmin para aislar el problema.
  6. Revisa los logs de error para obtener más detalles.
  7. Repara las tablas de la base de datos si es necesario.
  8. Desactiva el .htaccess temporalmente.
  9. Aumenta el límite de memoria PHP.
  10. Contacta con tu hosting si todo lo demás falla.

Siguiendo esta guía, en el 90% de los casos podrás solucionar conexión mysql prestashop y volver a tener tu tienda online operativa en menos de una hora. No te desesperes, es un proceso metódico y con paciencia lo conseguirás.

[TIP] Te recomiendo que, una vez solucionado, hagas una copia de seguridad completa de tu tienda y base de datos. Así, si vuelve a ocurrir, podrás restaurarla rápidamente sin pasar por todo este proceso de nuevo.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel