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

Errores comunes al conectar PrestaShop a la base de datos y cómo solucionarlos

Actualizado el 26 de marzo de 2026

Conectar PrestaShop a una base de datos es un paso fundamental para que tu tienda online funcione. Sin embargo, es uno de los momentos donde más errores suelen aparecer, especialmente si es tu primera vez. No te preocupes: la mayoría de estos problemas tienen una solución sencilla y rápida.

En este artículo, vamos a repasar los errores más comunes al conectar PrestaShop a la base de datos, entender por qué ocurren y, lo más importante, cómo solucionarlos paso a paso. Tanto si usas un panel de control como cPanel, Syspanel (recuerda que el acceso es por el puerto 2106) o Plesk, estos consejos te servirán.


1. Error de “No se puede conectar al servidor de la base de datos”

Este es, sin duda, el error más frecuente. Aparece durante la instalación de PrestaShop y suele ir acompañado de un mensaje como: “El servidor de la base de datos no está disponible” o “No se pudo conectar a MySQL”.

¿Por qué ocurre?

  • El servidor de base de datos (MySQL/MariaDB) no está en funcionamiento.
  • La dirección del servidor es incorrecta (por ejemplo, pusiste localhost cuando debería ser una IP o un nombre de host remoto).
  • El puerto de conexión es diferente al predeterminado (3306).
  • Hay un firewall bloqueando la conexión.

Solución paso a paso

  1. Verifica que el servicio MySQL esté activo en tu servidor. Si usas un hosting compartido, esto suele estar gestionado automáticamente, pero puedes preguntar al soporte. Si tienes un VPS o servidor dedicado, conecta por SSH y ejecuta:

    sudo systemctl status mysql
    

    Si no está activo, inícialo con:

    sudo systemctl start mysql
    
  2. Comprueba la dirección del servidor. En la mayoría de los casos, cuando instalas PrestaShop en el mismo servidor que la base de datos, debes usar localhost o 127.0.0.1. Si tu base de datos está en un servidor diferente (por ejemplo, un hosting separado), deberás usar la IP o el nombre de dominio del servidor de bases de datos.

  3. Revisa el puerto. Por defecto, MySQL usa el puerto 3306. Si tu hosting usa otro (por ejemplo, 3307), debes indicarlo en el campo de conexión de PrestaShop. Normalmente se escribe como localhost:3307.

  4. Desactiva temporalmente el firewall para hacer una prueba. Si la conexión funciona sin firewall, tendrás que abrir el puerto 3306 en las reglas de seguridad.

[TIP] Si usas Syspanel (acceso por puerto 2106), ve a la sección “Base de Datos” y asegúrate de que el estado del servidor MySQL aparezca como “En ejecución”.


2. Error de “Nombre de base de datos incorrecto” o “Base de datos no encontrada”

Este error aparece cuando el nombre de la base de datos que escribiste en la instalación de PrestaShop no existe en el servidor.

¿Por qué ocurre?

  • No creaste la base de datos previamente.
  • Escribiste mal el nombre (mayúsculas, guiones, espacios).
  • El usuario de la base de datos no tiene permisos sobre esa base de datos.

Solución paso a paso

  1. Crea la base de datos primero. No puedes conectar PrestaShop a una base de datos que no existe. Desde tu panel de hosting (cPanel, Syspanel, etc.), busca la opción “Bases de datos MySQL” o “Crear nueva base de datos”. Ponle un nombre claro, por ejemplo: tienda_prestashop.

  2. Crea un usuario para esa base de datos. Necesitas un usuario (por ejemplo, admin_tienda) con una contraseña segura. Luego, asigna ese usuario a la base de datos con todos los privilegios.

  3. Verifica que el nombre sea exacto. Algunos paneles añaden un prefijo al nombre de la base de datos (como tuusuario_tiendaprestashop). Copia el nombre completo desde el panel.

  4. Prueba la conexión desde otro cliente (como phpMyAdmin) para asegurarte de que el nombre y usuario funcionan.

[WARNING] No uses caracteres especiales como ñ, tildes o espacios en el nombre de la base de datos o del usuario. Solo letras, números y guiones bajos.


3. Error de “Acceso denegado para el usuario”

El mensaje típico es: “Access denied for user ‘usuario’@‘localhost’ (using password: YES)”. Esto significa que el usuario no tiene permiso para conectarse.

¿Por qué ocurre?

  • La contraseña del usuario de la base de datos es incorrecta.
  • El usuario no tiene permisos para conectarse desde esa dirección IP (por ejemplo, solo permite conexiones desde localhost y estás intentando desde otra IP).
  • El usuario fue creado pero no se le asignó acceso a la base de datos.

Solución paso a paso

  1. Reinicia la contraseña del usuario. En tu panel de bases de datos, cambia la contraseña del usuario por una nueva. Asegúrate de escribirla correctamente en la instalación de PrestaShop.

  2. Verifica el host del usuario. En la mayoría de los paneles, al crear un usuario puedes elegir si se conecta desde “Cualquier host” (%) o solo desde “localhost”. Si tu PrestaShop está en el mismo servidor, elige localhost. Si está en otro servidor, elige % o la IP específica.

  3. Asigna todos los privilegios. El usuario debe tener permisos de SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, etc., sobre la base de datos. En cPanel, esto se hace al asignar el usuario a la base de datos. En Syspanel, ve a “Base de Datos” > “Usuarios” y edita los permisos.

  4. Prueba con un cliente como phpMyAdmin. Si desde phpMyAdmin puedes iniciar sesión con ese usuario y contraseña, el problema está en otro lado (como el archivo de configuración de PrestaShop).

[INFO] Si usas Syspanel (puerto 2106), al crear un usuario, el sistema te pide que elijas el host. Selecciona “localhost” si tu tienda está en el mismo servidor.


4. Error de “Tabla no encontrada” o “La estructura de la base de datos no es válida”

Este error suele aparecer después de una migración o al intentar instalar un módulo que modifica la base de datos.

¿Por qué ocurre?

  • La base de datos está vacía (no se ha importado el esquema de PrestaShop).
  • Se intentó instalar PrestaShop sobre una base de datos existente con tablas de otra versión.
  • Algún módulo o actualización corrompió una tabla.

Solución paso a paso

  1. Asegúrate de que la base de datos tenga las tablas de PrestaShop. Durante la instalación, PrestaShop crea todas las tablas automáticamente. Si ya tenías una base de datos, bórrala y créala de nuevo, o elimina todas las tablas antes de instalar.

  2. Si estás migrando, importa el archivo SQL correcto. Usa phpMyAdmin o la línea de comandos para importar el backup de tu tienda. Verifica que el archivo no esté dañado.

  3. Repara las tablas corruptas. Desde phpMyAdmin, selecciona todas las tablas de la base de datos y elige “Reparar tabla”. También puedes ejecutar:

    REPAIR TABLE nombre_tabla;
    
  4. Actualiza el esquema de la base de datos. Si tienes una versión antigua de PrestaShop y actualizaste los archivos, es posible que necesites ejecutar el script de actualización (upgrade) para que las tablas coincidan.

[TIP] Siempre haz un backup completo de la base de datos antes de hacer cambios importantes. Así, si algo sale mal, puedes restaurar.


5. Error de “El prefijo de tabla ya existe” o “Tabla duplicada”

Ocurre cuando intentas instalar PrestaShop en una base de datos que ya contiene tablas con el mismo prefijo (por ejemplo, ps_).

¿Por qué ocurre?

  • Ya hay una instalación de PrestaShop en esa base de datos.
  • Olvidaste borrar las tablas viejas antes de reinstalar.

Solución paso a paso

  1. Elimina todas las tablas existentes en la base de datos. Puedes hacerlo desde phpMyAdmin: selecciona todas las tablas y elige “Eliminar”. O ejecuta:

    DROP DATABASE nombre_base;
    CREATE DATABASE nombre_base;
    
  2. Cambia el prefijo de tabla durante la instalación de PrestaShop. En lugar de ps_, usa otro como shop_ o presta_. Esto es útil si quieres mantener la base de datos antigua por algún motivo.

  3. Si es una reinstalación, asegúrate de que el nombre de la base de datos sea único o que hayas limpiado completamente la anterior.

[WARNING] Nunca uses el mismo prefijo de tabla para dos instalaciones diferentes de PrestaShop en la misma base de datos, porque se mezclarán los datos.


6. Error de “Tiempo de espera agotado” (Timeout)

La instalación o conexión se queda colgada y muestra un error de tiempo de espera.

¿Por qué ocurre?

  • El servidor de base de datos está sobrecargado.
  • La conexión es muy lenta (por ejemplo, base de datos remota con alta latencia).
  • El script de instalación de PrestaShop es demasiado grande y supera el tiempo máximo de ejecución de PHP.

Solución paso a paso

  1. Aumenta el tiempo máximo de ejecución de PHP. En tu servidor, modifica el archivo php.ini o desde el panel de control:

    max_execution_time = 300
    max_input_time = 300
    

    En Syspanel (puerto 2106), puedes hacerlo desde “Ajustes PHP” en la sección de tu dominio.

  2. Si la base de datos es remota, considera moverla al mismo servidor que tu tienda. La latencia de red puede causar timeouts.

  3. Divide la instalación. Si estás importando una base de datos muy grande, hazlo en partes desde phpMyAdmin o usa la línea de comandos:

    mysql -u usuario -p nombre_base < archivo.sql
    
  4. Optimiza el servidor MySQL. Aumenta los valores de wait_timeout y max_allowed_packet en el archivo de configuración de MySQL (my.cnf).

[INFO] Un timeout no siempre es culpa de PrestaShop. Revisa los logs del servidor para ver si hay errores de recursos.


7. Error de “El archivo de configuración no se puede escribir”

Al finalizar la instalación, PrestaShop intenta guardar los datos de conexión en el archivo app/config/parameters.php. Si no puede, muestra un error.

¿Por qué ocurre?

  • El servidor no tiene permisos de escritura en la carpeta app/config/.
  • El archivo parameters.php ya existe y está protegido contra escritura.

Solución paso a paso

  1. Da permisos de escritura a la carpeta app/config/. Desde FTP o el panel de archivos, cambia los permisos a 755 o 777 temporalmente. En sistemas Linux:

    chmod -R 755 app/config/
    

    O para desarrollo:

    chmod -R 777 app/config/
    

    Después de la instalación, vuelve a 755 por seguridad.

  2. Si el archivo ya existe, bórralo o renómbralo para que PrestaShop pueda crear uno nuevo.

  3. Verifica que el usuario del servidor web (www-data, nobody, etc.) tenga permisos de escritura. En algunos paneles, puedes asignar el propietario de la carpeta a ese usuario.

[WARNING] No dejes los permisos en 777 permanentemente, ya que es un riesgo de seguridad. Una vez instalado, restringe los permisos.


8. Error de “Versión de MySQL no compatible”

PrestaShop requiere una versión específica de MySQL o MariaDB. Si el servidor tiene una versión muy antigua, dará error.

¿Por qué ocurre?

  • Tu servidor usa MySQL 5.5 o inferior, y PrestaShop 8+ necesita MySQL 5.7 o superior.
  • Estás usando MariaDB 10.0 o inferior.

Solución paso a paso

  1. Actualiza MySQL/MariaDB. Si tienes un VPS, conecta por SSH y actualiza el paquete:

    sudo apt update
    sudo apt upgrade mysql-server
    

    O migra a MariaDB 10.3 o superior.

  2. Si estás en un hosting compartido, contacta al soporte y pide que actualicen la versión de MySQL. Si no es posible, deberás usar una versión anterior de PrestaShop compatible con tu versión de base de datos.

  3. Comprueba la versión actual desde phpMyAdmin o ejecutando:

    SELECT VERSION();
    

[TIP] PrestaShop 1.7 y 8.x funcionan mejor con MariaDB 10.3+ o MySQL 5.7+. Siempre verifica los requisitos del sistema antes de instalar.


Preguntas frecuentes (FAQ)

¿Puedo conectar PrestaShop a una base de datos remota?

Sí, pero debes asegurarte de que el servidor de base de datos permita conexiones desde la IP de tu servidor web. Además, la latencia puede afectar el rendimiento. Es mejor tener la base de datos en el mismo servidor.

¿Qué hago si olvidé la contraseña de la base de datos?

Puedes cambiarla desde el panel de control de tu hosting. En Syspanel (puerto 2106), ve a “Base de Datos” > “Usuarios” y selecciona “Cambiar contraseña”. Luego actualiza el archivo parameters.php de PrestaShop.

¿Cómo sé si mi base de datos tiene el prefijo correcto?

Durante la instalación, PrestaShop te pide un prefijo (por defecto ps_). Si ya tienes tablas con otro prefijo, puedes cambiarlo en ese paso. Si ya está instalado, puedes verlo en el archivo app/config/parameters.php en la línea 'database_prefix'.

¿Por qué aparece “Error de conexión” después de mover mi tienda a otro servidor?

Generalmente es porque los datos de conexión en parameters.php siguen apuntando al servidor anterior. Edita ese archivo con los nuevos datos (servidor, nombre de base, usuario y contraseña).

¿Es necesario crear la base de datos antes de instalar PrestaShop?

Sí, es obligatorio. PrestaShop no crea la base de datos; solo crea las tablas dentro de una existente. Si no existe, te dará error de “Base de datos no encontrada”.


Conclusión

Los errores al conectar PrestaShop a la base de datos pueden ser frustrantes, pero la mayoría tienen soluciones claras y directas. Recuerda siempre:

  • Verificar que la base de datos y el usuario existen y están bien configurados.
  • Comprobar los permisos de escritura en los archivos de configuración.
  • Asegurarte de que la versión de MySQL/MariaDB sea compatible.
  • Usar herramientas como phpMyAdmin para hacer pruebas de conexión.

Si sigues estos pasos, podrás superar cualquier problema de conexión y tu tienda PrestaShop estará funcionando en poco tiempo. Y si usas Syspanel, no olvides que el acceso es por el puerto 2106 para gestionar tus bases de datos.

¿Tienes algún otro error que no hayamos cubierto? ¡Déjalo en los comentarios y lo resolveremos juntos!

¿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