Cómo solucionar el error de instalación 'no se puede conectar a la base de datos' en PrestaShop (Plesk)
Introducción: El temido error de conexión a la base de datos
Si estás leyendo esto, probablemente te ha aparecido un mensaje similar a "No se puede conectar a la base de datos" durante la instalación de PrestaShop en tu servidor Plesk. No te preocupes, no eres el único. Es uno de los errores más comunes al instalar esta plataforma de comercio electrónico, y en la gran mayoría de los casos tiene una solución sencilla que puedes aplicar tú mismo sin necesidad de ser un experto en servidores.
Este error, que técnicamente se conoce como error conexión PrestaShop Plesk, suele aparecer justo en el paso 3 o 4 del asistente de instalación, cuando el sistema intenta validar los datos de tu base de datos MySQL. La buena noticia es que, en el 90% de las ocasiones, el problema no está en PrestaShop en sí, sino en una configuración incorrecta de los datos de acceso o en los privilegios del usuario de la base de datos.
En esta guía extensa y paso a paso, vamos a desglosar todas las posibles causas y soluciones para que puedas superar este obstáculo y completar la instalación de tu tienda online. Vamos a ello.
¿Por qué ocurre el error "PrestaShop no conecta base de datos"?
Antes de lanzarnos a solucionar el problema, es importante entender qué está pasando. El mensaje de error es claro: tu instalación de PrestaShop no puede establecer una conexión con el servidor MySQL de Plesk. Pero, ¿por qué? Las razones suelen agruparse en estas categorías:
- Datos de acceso incorrectos: El nombre de la base de datos, el usuario o la contraseña no coinciden con los que has creado en Plesk.
- Privilegios insuficientes: El usuario de la base de datos no tiene permisos para acceder a la base de datos específica que has indicado.
- Servidor de base de datos incorrecto: Has indicado
localhostcuando el servidor MySQL de Plesk usa un socket diferente, o has puesto una IP que no es la correcta. - Problemas con el puerto de conexión: MySQL no se está ejecutando en el puerto estándar (3306) o el firewall lo está bloqueando.
- La base de datos no existe: Has escrito mal el nombre de la base de datos o aún no la has creado en Plesk.
Vamos a abordar cada una de estas causas para solucionar error base datos PrestaShop de forma metódica y efectiva.
Paso 1: Verifica que la base de datos y el usuario existen en Plesk
Lo primero es lo primero. Necesitamos asegurarnos de que la base de datos que estás intentando usar realmente existe. Accede a tu panel de control de Plesk y sigue estos pasos:
- Inicia sesión en tu panel de Plesk.
- En el menú lateral izquierdo, busca la sección "Bases de datos" (o "Databases").
- Verás un listado de todas las bases de datos que has creado. Si no ves ninguna, o no ves la que esperabas, tendrás que crearla.
¿Cómo crear una base de datos y un usuario en Plesk?
Si no tienes la base de datos creada, aquí tienes el proceso rápido:
- Haz clic en el botón "Agregar base de datos" (o "Add Database").
- Elige un nombre para tu base de datos, por ejemplo,
tienda_prestashop. Anota este nombre exactamente como lo escribes. - En el campo "Servidor de base de datos", asegúrate de que está seleccionado el servidor MySQL local (suele ser
localhosto el nombre de tu servidor). - Deja el tipo de base de datos como MySQL.
- Haz clic en "OK".
Una vez creada, también necesitas un usuario con permisos. Plesk suele crear un usuario automáticamente con el mismo nombre que la base de datos, pero a veces hay que configurarlo manualmente. Para ello:
- Dentro de la página de tu base de datos, busca la sección "Usuarios" o "Añadir usuario".
- Crea un nuevo usuario con una contraseña robusta (combina mayúsculas, minúsculas, números y símbolos). Anota el nombre de usuario y la contraseña.
- Asegúrate de marcar la casilla para "Conceder todos los privilegios" o selecciona "Todos los privilegios" en el menú desplegable. Esto es crucial para que PrestaShop pueda crear sus propias tablas durante la instalación.
[INFO] Es muy común que el error se deba a que el usuario no tiene todos los privilegios. Si solo tiene permisos de lectura o escritura, pero no de creación o modificación de tablas, la instalación fallará.
Paso 2: Revisa los datos de conexión en el asistente de instalación
Ahora que ya sabes que la base de datos y el usuario existen, vamos a revisar qué estás escribiendo en el asistente de PrestaShop. Los campos son:
- Dirección de la base de datos (Servidor): Aquí es donde mucha gente falla. Por defecto, PrestaShop pone
localhost. En la mayoría de los casos con Plesk, esto funciona. Sin embargo, si tu servidor usa una configuración especial, puede que necesites usar127.0.0.1o el nombre del servidor MySQL que aparece en Plesk (a veces es algo comolocalhost:/var/run/mysqld/mysqld.sock). Prueba primero conlocalhosty si falla, prueba con127.0.0.1. - Nombre de la base de datos: Debe coincidir exactamente con el nombre que ves en Plesk. Recuerda que Plesk a veces añade un prefijo con el nombre de tu usuario, por ejemplo
usuario_tienda_prestashop. Copia y pega el nombre completo desde el panel de Plesk para evitar errores de tipeo. - Usuario de la base de datos: Igual que el anterior, debe ser el nombre de usuario exacto que aparece en Plesk.
- Contraseña de la base de datos: Asegúrate de que estás escribiendo la contraseña correcta. Es fácil equivocarse con mayúsculas y minúsculas. Considera usar un gestor de contraseñas para copiarla y pegarla directamente.
- Prefijo de las tablas: Este campo suele estar en
ps_. Si no sabes qué es, déjalo así. No es la causa del error, pero es bueno saberlo.
[WARNING] Nunca uses caracteres especiales como
ñ,á,é, o espacios en el nombre de la base de datos o del usuario. Esto puede causar conflictos y errores de conexión difíciles de diagnosticar.
Paso 3: El problema de los privilegios y el usuario remoto
En Plesk, a veces el usuario de la base de datos se crea con permisos para conectarse solo desde localhost. Esto es lo normal y lo que queremos. Sin embargo, si has creado un usuario manualmente o has importado una base de datos, es posible que los privilegios estén limitados a una IP específica o que el usuario no esté asociado correctamente a la base de datos.
Para verificar esto en Plesk:
- Ve a tu base de datos.
- Busca la pestaña o sección de "Usuarios".
- Haz clic en el usuario que estás utilizando.
- En la lista de privilegios, asegúrate de que el host esté configurado como
localhosto127.0.0.1. Si ves otra IP, cámbiala alocalhosty guarda los cambios. - Además, asegúrate de que la casilla "GRANT ALL" o "Todos los privilegios" esté marcada.
[TIP] Si has modificado los privilegios, es una buena práctica eliminar el usuario y volver a crearlo desde cero dentro de la página de la base de datos en Plesk. Esto garantiza que la asociación entre usuario, base de datos y permisos sea correcta.
Paso 4: Comprueba el puerto y el firewall
Aunque es menos común, a veces el servidor MySQL no escucha en el puerto estándar o el firewall del sistema operativo bloquea las conexiones entrantes al puerto 3306.
- En Plesk: Ve a "Herramientas y Ajustes" > "Configuración de MySQL" (o "MySQL Configuration"). Ahí podrás ver el puerto en el que está escuchando MySQL. Normalmente es el 3306, pero si no lo es, anótalo.
- En el asistente de PrestaShop: En el campo de la dirección del servidor, puedes especificar el puerto. Por ejemplo, si el puerto es 3307, escribirías
localhost:3307.
Si el problema persiste, es probable que el firewall de tu servidor esté bloqueando la conexión. Esto es más complejo de solucionar y puede requerir acceso SSH. Si no te sientes cómodo con esto, contacta con tu proveedor de hosting.
[INFO] Para este error, la solución más común es la primera (datos incorrectos). El firewall es una causa poco frecuente en entornos Plesk, ya que el panel de control suele estar optimizado para que todo funcione localmente.
Paso 5: El error específico "Plesk MySQL PrestaShop error" y los permisos de archivos
Hay un escenario particular que causa este error en Plesk: los permisos de los archivos de PrestaShop. Si los archivos no tienen los permisos correctos, el instalador no puede leer la configuración y falla al intentar conectar con la base de datos, aunque los datos sean correctos.
Para solucionarlo, necesitas establecer los permisos correctos en la carpeta de tu tienda. Esto se hace desde el Administrador de archivos de Plesk:
- Ve a "Administrador de archivos".
- Navega hasta la carpeta donde has subido PrestaShop (normalmente
httpdocsopublic_html). - Selecciona todos los archivos y carpetas de PrestaShop.
- Haz clic en el botón "Permisos" (o "Permissions").
- Establece los permisos en
755para las carpetas y644para los archivos. Plesk te permite hacer esto de forma recursiva marcando la casilla "Aplicar a subdirectorios". - Guarda los cambios e intenta la instalación de nuevo.
[WARNING] No establezcas permisos
777en todos los archivos. Esto es un riesgo de seguridad grave. Usa755para carpetas y644para archivos. Es el estándar para la mayoría de los CMS.
Paso 6: Verifica la versión de PHP y MySQL
PrestaShop es exigente con las versiones de PHP y MySQL. Si tu versión de PHP es demasiado antigua o demasiado nueva, o si la versión de MySQL no es compatible, el instalador puede dar errores extraños, incluyendo el de conexión a la base de datos.
En Plesk, puedes cambiar la versión de PHP para tu dominio:
- Ve a "Dominios" y haz clic en tu dominio.
- Busca la sección "PHP Settings" (Configuración de PHP).
- Cambia la versión de PHP a una que sea compatible con tu versión de PrestaShop. Para PrestaShop 8.x, se recomienda PHP 7.4 o 8.0, 8.1. Para versiones antiguas, PHP 7.2 o 7.3.
- Guarda los cambios y reinicia el servicio PHP si es necesario.
Para MySQL, asegúrate de que la versión que tienes es compatible. Esto lo puedes ver en la sección de bases de datos de Plesk. Si tu versión es muy antigua (MySQL 5.5), considera actualizarla, aunque esto puede requerir ayuda de tu proveedor.
Paso 7: Prueba la conexión desde la línea de comandos (SSH)
Si has llegado hasta aquí y el error persiste, es hora de hacer una prueba más técnica. Si tu hosting te permite acceso SSH, puedes probar la conexión manualmente. Esto te dirá si el problema es de PrestaShop o de la configuración de MySQL.
- Conéctate por SSH a tu servidor.
- Ejecuta el siguiente comando, reemplazando
usuario,contraseñaynombre_base_datoscon tus datos:mysql -u usuario -p nombre_base_datos - Se te pedirá la contraseña. Escríbela y presiona Enter.
- Si ves el prompt de MySQL (
mysql>), la conexión es exitosa. El problema está en los datos que estás introduciendo en el instalador de PrestaShop. - Si ves un error como
Access denied, significa que el usuario o la contraseña son incorrectos, o que no tiene permisos para esa base de datos en particular. Vuelve al Paso 3. - Si ves un error como
Can't connect to local MySQL server through socket, significa que el servidor MySQL no está corriendo o que el socket está mal configurado. Esto es un problema de servidor y deberías contactar con tu proveedor.
[TIP] Este test es la forma más rápida de descartar la base de datos como culpable. Si la conexión por SSH funciona, el problema está 100% en los datos que escribes en el formulario de PrestaShop.
Preguntas Frecuentes (FAQ) sobre este error
¿Qué significa "No se puede conectar a la base de datos" en PrestaShop?
Significa que el script de instalación de PrestaShop no puede comunicarse con el servidor MySQL usando los datos que has proporcionado. No es un error de código, sino de configuración.
¿Por qué PrestaShop no conecta con mi base de datos si estoy seguro de que la contraseña es correcta?
Puede ser que el usuario no tenga todos los privilegios sobre la base de datos, o que el nombre de la base de datos no sea exactamente el que ves en Plesk (a veces incluye un prefijo). También verifica que el servidor de la base de datos sea localhost o 127.0.0.1.
¿El error puede deberse a que mi plan de hosting es muy básico?
Es poco probable. El error de conexión a la base de datos es un problema de configuración, no de recursos. Cualquier plan de hosting que soporte MySQL y PHP puede ejecutar PrestaShop.
¿Qué hago si he probado todo y el error continúa?
Si has seguido todos los pasos de esta guía y el error persiste, te recomiendo contactar con el soporte técnico de tu proveedor de hosting. Ellos pueden verificar la configuración del servidor MySQL y los logs de error en tiempo real. Es posible que haya un problema más profundo en el servidor que solo ellos puedan solucionar.
¿Es necesario crear una base de datos antes de instalar PrestaShop?
Sí, es imprescindible. PrestaShop no crea la base de datos por ti; necesita que exista previamente y que tengas un usuario con permisos para acceder a ella.
Conclusión: No te rindas, la solución está cerca
El error de error conexión PrestaShop Plesk es un obstáculo frustrante, pero es uno de los problemas más documentados y con más soluciones en el mundo del hosting. Como has visto, la causa más común es un simple error de tipeo o una falta de privilegios en el usuario de la base de datos.
Sigue estos pasos en orden, sin saltarte ninguno, y presta especial atención a los detalles. Copia y pega los nombres de la base de datos y el usuario desde Plesk para evitar errores. Verifica los permisos y la versión de PHP. Si todo falla, la prueba de SSH te dará la respuesta definitiva.
[TIP] Recuerda que la paciencia es clave. Tómate tu tiempo para revisar cada campo y cada configuración. La mayoría de las veces, la solución es mucho más sencilla de lo que parece.
Con un poco de método y esta guía, tu tienda online estará funcionando en poco tiempo. ¡Mucho ánimo y éxito con tu proyecto de comercio electrónico!
