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

Solución de errores comunes al conectar PrestaShop a MySQL

Actualizado el 27 de marzo de 2026

¡Hola! Si estás leyendo esto, probablemente te has topado con algún mensaje de error al intentar conectar tu tienda PrestaShop con su base de datos MySQL. No te preocupes, es uno de los problemas más comunes en el mundo del hosting y, por suerte, la mayoría tienen una solución sencilla.

En esta guía completa, vamos a desglosar los errores más frecuentes, te explicaré paso a paso cómo solucionarlos y, sobre todo, lo haré de una forma clara y sin tecnicismos innecesarios. Al final, serás capaz de diagnosticar y arreglar estos problemas tú mismo, como todo un profesional.

Vamos a ello.

¿Por qué falla la conexión a MySQL en PrestaShop?

Antes de lanzarnos a las soluciones, es importante entender qué significa exactamente el error de conexión. Cuando PrestaShop intenta arrancar, necesita hablar con la base de datos MySQL para cargar productos, clientes, configuraciones, etc. Esta comunicación se realiza mediante unos "credenciales" (usuario, contraseña, nombre de base de datos y servidor).

Si alguno de estos datos es incorrecto, o si el servidor de la base de datos está caído o bloqueado, PrestaShop no puede arrancar y muestra un mensaje de error. Los síntomas más habituales son:

  • Un mensaje en pantalla que dice "Error de conexión con la base de datos" o similar.
  • La página se queda en blanco (el famoso "White Screen of Death").
  • Un mensaje tipo "prestashop error mysql" con un código de error específico (ej. 1045, 1049, 2002).

Vamos a ver cada uno de estos escenarios y cómo resolverlos.

Errores Comunes y sus Soluciones Paso a Paso

1. Error "Access denied for user" (Códigos 1044 y 1045)

Este es, probablemente, el prestashop error mysql más habitual. El mensaje suele ser algo como:

SQLSTATE[HY000] [1045] Access denied for user 'usuario'@'localhost' (using password: YES)

¿Qué significa? Básicamente, que el usuario y la contraseña que has puesto en el archivo de configuración de PrestaShop (parameters.php) no son correctos, o que ese usuario no tiene permisos para acceder a la base de datos que has especificado.

¿Cómo solucionarlo?

  1. Accede a tu panel de control de hosting. Esto puede ser cPanel, Plesk, o si tu hosting usa Syspanel, recuerda que el puerto de acceso es el 2106 (ej. https://tu-dominio.com:2106).
  2. Busca la sección de "Bases de Datos MySQL" o similar.
  3. Verifica el nombre de usuario y la contraseña de la base de datos. Un error muy común es copiar la contraseña con un espacio al final o confundir mayúsculas y minúsculas.
  4. Asegúrate de que el usuario esté vinculado a la base de datos correcta. A veces, el usuario existe pero no tiene privilegios sobre la base de datos que PrestaShop intenta usar. Añade el usuario a la base de datos y otórgale TODOS los privilegios.
  5. Revisa el archivo parameters.php. Este archivo se encuentra en la carpeta app/config/ de tu instalación de PrestaShop. Ábrelo con un editor de texto y verifica que los valores de database_user y database_password coincidan exactamente con los que has creado en tu panel de hosting.

[TIP] Si has cambiado la contraseña de la base de datos pero no has actualizado el parameters.php, este error aparecerá. Siempre asegúrate de que ambos lugares tengan la misma información.

2. Error "Unknown database" (Código 1049)

El mensaje típico es:

SQLSTATE[HY000] [1049] Unknown database 'nombre_base_datos'

¿Qué significa? Que PrestaShop está intentando conectarse a una base de datos que no existe en tu servidor.

¿Cómo solucionarlo?

  1. Ve a tu panel de control de hosting (recuerda, si usas Syspanel, el puerto es el 2106).
  2. Revisa la lista de tus bases de datos en la sección de "Bases de Datos MySQL".
  3. Comprueba que el nombre de la base de datos que aparece en el error (y en tu parameters.php) es exactamente el mismo que aparece en tu lista. El nombre suele tener un prefijo con tu nombre de usuario (ej. usuario_bd_prestashop).
  4. Si la base de datos no existe, créala con el nombre exacto que necesitas. Luego, importa el archivo .sql de tu tienda si lo tienes, o reinstala PrestaShop.

[WARNING] NUNCA edites los archivos de configuración directamente en el servidor sin hacer una copia de seguridad antes. Un simple error de sintaxis puede dejar tu tienda completamente inaccesible.

3. Error "Can't connect to MySQL server" (Códigos 2002, 2003, 2005)

Este error es un poco más genérico y suele indicar un problema de red o de configuración del servidor MySQL, no de credenciales. El mensaje puede ser:

SQLSTATE[HY000] [2002] Connection refused o SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'localhost' (10061)

¿Qué significa? Que PrestaShop no puede llegar al servidor MySQL. Puede ser que el servidor esté apagado, que el puerto esté bloqueado, o que el nombre del servidor (database_host) sea incorrecto.

¿Cómo solucionarlo?

  1. Revisa el nombre del servidor (database_host). En la mayoría de los casos, para un hosting compartido, este valor es localhost. Sin embargo, en algunos hosts gestionados, puede ser una dirección IP o un nombre de servidor específico (ej. mysql.tudominio.com). Consulta la documentación de tu proveedor de hosting para asegurarte.
  2. Verifica que el servicio MySQL esté activo. Si tienes acceso a un panel como Syspanel (puerto 2106), busca la sección de "Servicios" o "Procesos" y asegúrate de que MySQL/MariaDB esté en ejecución. Si está detenido, actívalo.
  3. Prueba el puerto de conexión. El puerto por defecto es el 3306. Si tu hosting usa un puerto diferente, deberás especificarlo en el campo database_port de tu parameters.php.

[INFO] Si estás en un entorno de desarrollo local (como XAMPP o WAMP), el error 2002 es común si el servicio de MySQL no está iniciado. Abre tu panel de control de XAMPP/WAMP y pulsa "Start" en el módulo MySQL.

4. Error de "Table doesn't exist" (Código 1146)

Este error aparece durante la navegación o al intentar acceder al panel de administración. El mensaje es:

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'usuario_bd.ps_shop_url' doesn't exist

¿Qué significa? Que una tabla específica de PrestaShop no se encuentra en la base de datos. Esto suele pasar por una importación incompleta de tu base de datos o una restauración fallida.

¿Cómo solucionarlo?

  1. Revisa el prefijo de las tablas. PrestaShop usa un prefijo en sus tablas (por defecto, ps_). Si en tu archivo parameters.php el prefijo (database_prefix) es diferente al que tienen las tablas en tu base de datos, este error aparecerá.
  2. Importa la base de datos de nuevo. Si tienes una copia de seguridad de tu base de datos, la solución más segura es importarla de nuevo, asegurándote de que el proceso se complete sin errores.
  3. Si no tienes copia de seguridad, puede que necesites reparar la instalación. Esto es más complejo y, a menudo, requiere la ayuda de un desarrollador.

[WARNING] Si la importación de tu base de datos se interrumpe a mitad de camino, es muy probable que te encuentres con tablas faltantes. Asegúrate de que el archivo .sql no sea demasiado grande para el límite de tu hosting y, si es necesario, impórtalo en partes.

Problemas con el archivo settings.inc.php (Versiones Antiguas)

Si estás usando una versión de PrestaShop anterior a la 1.7, el archivo de configuración no es parameters.php, sino config/settings.inc.php. Los errores son los mismos y las soluciones también, pero la ruta del archivo es distinta.

En este archivo, buscarás las líneas _DB_SERVER_, _DB_NAME_, _DB_USER_ y _DB_PASSWD_.

[TIP] Si después de cambiar los datos en settings.inc.php sigues viendo el mismo error, es posible que el servidor esté cacheando los archivos. Borra los archivos de caché en la carpeta var/cache/ (para PrestaShop 1.7+) o cache/ (para versiones antiguas) para forzar que se cargue la nueva configuración.

¿Qué hago si nada de esto funciona?

Si has probado todos los pasos anteriores y sigues teniendo problemas con la conexion base de datos prestashop, es hora de escalar el problema. Aquí tienes algunas opciones:

  1. Contacta con tu proveedor de hosting. Ellos pueden verificar los logs del servidor y ver si hay algún bloqueo o error a nivel de red o de configuración del servidor MySQL. Es posible que el problema esté en su infraestructura y no en tu tienda.
  2. Revisa los logs de PrestaShop. En la carpeta var/logs/ (PrestaShop 1.7+) o log/ (versiones antiguas), encontrarás archivos de registro que pueden darte pistas más específicas sobre el error. Busca el archivo con la fecha actual y ábrelo para ver la traza del error.
  3. Busca en foros especializados. Comunidades como el foro oficial de PrestaShop o Stack Overflow son una mina de oro. Es muy probable que alguien más haya tenido tu mismo problema y haya compartido la solución.

Preguntas Frecuentes (FAQ)

P: ¿Por qué me sale "prestashop error mysql" al instalar?

R: Durante la instalación, este error suele indicar que los datos de conexión que has introducido en el asistente son incorrectos. Vuelve a tu panel de hosting y verifica el nombre de la base de datos, el usuario y la contraseña. Asegúrate de que el usuario tenga todos los privilegios sobre la base de datos.

P: ¿Cómo puedo solucionar el error de conexión a la base de datos si no puedo acceder al panel de administración?

R: Si no puedes acceder al panel de administración, tendrás que editar los archivos de configuración directamente. Usa el administrador de archivos de tu hosting o un cliente FTP para descargar el archivo parameters.php, editarlo en tu ordenador y subirlo de nuevo.

P: ¿Qué significa el error "Too many connections"?

R: Este error indica que tu sitio tiene demasiadas conexiones abiertas a la base de datos al mismo tiempo. Puede ser por un pico de tráfico o por un plugin/módulo mal optimizado. La solución a corto plazo es aumentar el límite de conexiones en tu servidor MySQL (si tu hosting lo permite). A largo plazo, deberías optimizar tu tienda y sus módulos.

P: ¿Es seguro cambiar la contraseña de la base de datos?

R: Sí, es seguro, pero debes hacerlo con cuidado. Cambia la contraseña en tu panel de hosting y, inmediatamente después, actualiza el archivo parameters.php con la nueva contraseña. Si no lo haces, tu tienda dejará de funcionar al instante.

P: Mi hosting usa Syspanel, ¿cómo accedo para revisar las bases de datos?

R: Para acceder a Syspanel, abre tu navegador y escribe la dirección de tu panel, añadiendo el puerto 2106. Por ejemplo: https://tu-dominio.com:2106. Dentro, busca la sección de bases de datos y sigue los pasos que te he indicado a lo largo de esta guía.

Espero que esta guía te haya sido de gran ayuda. Con un poco de paciencia y siguiendo estos pasos, podrás solucionar mysql prestashop y volver a tener tu tienda online funcionando en un abrir y cerrar de ojos. ¡Mucha suerte!

¿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