Cómo conectar PrestaShop a una base de datos MySQL (cPanel y DirectAdmin)
Antes de empezar: ¿Qué necesitas para conectar PrestaShop a MySQL?
Conectar tu tienda PrestaShop a una base de datos MySQL es uno de los pasos más importantes durante la instalación o migración de tu tienda online. Sin una conexión correcta, PrestaShop simplemente no puede funcionar, ya que todos los productos, pedidos, clientes y configuraciones se almacenan en esa base de datos.
Para realizar este proceso necesitarás tener a mano los siguientes datos, que normalmente encuentras en el panel de control de tu hosting (cPanel o DirectAdmin):
- Nombre de la base de datos (por ejemplo:
tienda_prestashop). - Usuario de la base de datos (por ejemplo:
admin_tienda). - Contraseña del usuario (la que hayas definido al crear el usuario).
- Host de la base de datos (normalmente
localhost, aunque en algunos hosting compartidos puede ser un servidor remoto comomysql.tudominio.com). - Prefijo de las tablas (por defecto suele ser
ps_, pero puedes cambiarlo por seguridad).
[INFO] Si no tienes estos datos, no podrás completar la instalación. Te recomiendo contactar con tu proveedor de hosting o consultar la documentación de tu panel de control antes de continuar.
Paso 1: Crear la base de datos y el usuario en cPanel
Si tu hosting utiliza cPanel, el proceso para crear la base de datos y el usuario es muy sencillo. Sigue estos pasos:
1.1 Accede a cPanel
Inicia sesión en tu cuenta de cPanel con las credenciales que te proporcionó tu proveedor de hosting. Normalmente accedes desde una URL como https://tudominio.com/cpanel o https://tuip:2083.
1.2 Busca la sección "Bases de datos MySQL"
Dentro de cPanel, busca la sección llamada "Bases de datos MySQL" o "MySQL Databases". Haz clic en ella.
1.3 Crea la base de datos
En el campo "Crear nueva base de datos", escribe el nombre que quieras (por ejemplo, prestashop). Ten en cuenta que cPanel añadirá automáticamente tu nombre de usuario como prefijo. Por ejemplo, si tu usuario es admin, el nombre final será admin_prestashop. Anota este nombre completo porque lo necesitarás más adelante.
Haz clic en "Crear base de datos" y espera unos segundos.
1.4 Crea un usuario para la base de datos
Baja hasta la sección "Usuarios MySQL". Aquí deberás crear un nuevo usuario con su contraseña. Te recomiendo usar una contraseña fuerte, combinando letras mayúsculas, minúsculas, números y símbolos.
Escribe el nombre de usuario y la contraseña, y haz clic en "Crear usuario".
1.5 Añade el usuario a la base de datos
En la sección "Añadir usuario a base de datos", selecciona el usuario y la base de datos que acabas de crear en los menús desplegables. Haz clic en "Añadir".
Te aparecerá una pantalla con los privilegios. Para PrestaShop, lo más recomendable es marcar "TODOS LOS PRIVILEGIOS" (también llamado "All Privileges") y hacer clic en "Hacer cambios".
[WARNING] Asegúrate de otorgar todos los privilegios, ya que PrestaShop necesita crear, leer, actualizar y eliminar datos constantemente. Si solo le das algunos permisos, la instalación fallará o la tienda dará errores extraños.
Paso 2: Crear la base de datos y el usuario en DirectAdmin
Si tu hosting utiliza DirectAdmin en lugar de cPanel, el proceso es igual de sencillo pero con una interfaz diferente.
2.1 Accede a DirectAdmin
Inicia sesión en tu panel de DirectAdmin. Normalmente la URL es https://tudominio.com:2222 o la que te haya proporcionado tu hosting.
2.2 Busca la sección "MySQL Management"
En el menú principal, busca el icono o enlace llamado "MySQL Management" o "Administración de MySQL". Haz clic en él.
2.3 Crea la base de datos
En la sección "Create new database", escribe el nombre que quieras para tu base de datos (por ejemplo, prestashop). DirectAdmin también añadirá tu nombre de usuario como prefijo, así que el nombre final será algo como usuario_prestashop.
Haz clic en "Create" para crear la base de datos.
2.4 Crea el usuario de la base de datos
En la misma página, busca la sección "Create new user". Aquí tendrás que escribir un nombre de usuario (por ejemplo, prestauser) y una contraseña segura. Haz clic en "Create".
2.5 Asigna el usuario a la base de datos
Una vez que tienes tanto la base de datos como el usuario creados, busca la sección "Add user to database". Selecciona el usuario y la base de datos que acabas de crear, y otórgale todos los privilegios marcando la casilla "ALL" o seleccionando todas las opciones disponibles.
Haz clic en "Add" o "Submit" para guardar los cambios.
[TIP] En DirectAdmin, a veces tienes que hacer clic en el nombre de la base de datos para gestionar los usuarios asignados. Si no ves la opción directamente, explora un poco la interfaz, pero no te preocupes, todo está en la misma página de gestión de MySQL.
Paso 3: Configurar PrestaShop para conectar a MySQL
Ahora que ya tienes la base de datos y el usuario creados, llega el momento de conectar PrestaShop. Este paso se realiza durante la instalación de PrestaShop o, si ya lo tenías instalado, durante una migración manual cambiando el archivo de configuración.
3.1 Durante la instalación de PrestaShop
Cuando ejecutes el instalador de PrestaShop (normalmente accediendo a tudominio.com/install), llegarás a un paso llamado "Configuración de la base de datos". Aquí deberás introducir los datos que has creado:
- Dirección del servidor de base de datos:
localhost(o el host que te haya indicado tu proveedor). - Nombre de la base de datos: el nombre completo que has creado (por ejemplo,
admin_prestashop). - Usuario de la base de datos: el usuario que has creado (por ejemplo,
admin_prestauser). - Contraseña: la contraseña que asignaste al usuario.
- Prefijo de las tablas: por defecto es
ps_. Puedes dejarlo así o cambiarlo por seguridad (por ejemplo,shop_).
Haz clic en "Comprobar la conexión" y, si todo es correcto, verás un mensaje verde indicando que la conexión es válida. Continúa con el proceso de instalación.
3.2 Si ya tienes PrestaShop instalado (migración)
Si tu tienda ya está funcionando y necesitas cambiar la conexión a una nueva base de datos (por ejemplo, porque has cambiado de hosting), tendrás que editar el archivo app/config/parameters.php en PrestaShop (versiones 1.7 y superiores) o config/settings.inc.php (versiones 1.6 y anteriores).
Abre el archivo correspondiente con un editor de texto y busca las siguientes líneas:
'database_host' => 'localhost',
'database_name' => 'nombre_base_datos',
'database_user' => 'usuario_base_datos',
'database_password' => 'contraseña',
'database_prefix' => 'ps_',
Reemplaza los valores con los de tu nueva base de datos y guarda el archivo. Luego sube el archivo modificado a tu servidor mediante FTP o el administrador de archivos de tu panel.
[WARNING] Antes de tocar estos archivos, haz siempre una copia de seguridad de la base de datos y de los archivos originales. Un error en este archivo puede dejar tu tienda completamente inaccesible.
Paso 4: Verificar que la conexión funciona correctamente
Después de configurar la conexión, es fundamental verificar que todo funciona correctamente. Aquí tienes algunas comprobaciones rápidas:
4.1 Accede a tu tienda
Intenta cargar tu tienda en el navegador. Si PrestaShop se instala correctamente o carga sin errores, la conexión es correcta.
4.2 Accede al panel de administración
Entra en el panel de administración de PrestaShop (normalmente en tudominio.com/admin). Si puedes ver el panel y los datos de tu tienda, la conexión funciona.
4.3 Comprueba los logs de error
Si algo falla, revisa los archivos de log de PrestaShop en la carpeta var/logs (versiones 1.7+) o log (versiones anteriores). También puedes activar el modo debug para ver los errores en pantalla.
Problemas comunes y cómo solucionarlos
Error "No se puede conectar a la base de datos"
Este es el error más común. Las causas suelen ser:
- Datos incorrectos: Revisa que el nombre de la base de datos, usuario y contraseña sean exactamente los que creaste, incluyendo el prefijo añadido por el panel.
- Host incorrecto: Si tu hosting usa un host remoto para MySQL, no uses
localhost. Consulta con tu proveedor cuál es el host correcto. - Privilegios insuficientes: Asegúrate de haber otorgado todos los privilegios al usuario.
- Firewall o restricciones de acceso: Algunos hosting solo permiten conexiones MySQL desde ciertas IPs. Contacta con soporte si sospechas que este es el problema.
Error "Acceso denegado para el usuario"
Este error suele indicar que el usuario no tiene permisos o que la contraseña es incorrecta. Vuelve a verificar los datos y, si es necesario, cambia la contraseña del usuario desde el panel de control.
La instalación se queda cargando
Si la instalación se queda colgada en el paso de la base de datos, puede deberse a un problema de timeout o a que el servidor MySQL está tardando demasiado. Intenta aumentar el tiempo de ejecución de PHP en tu hosting o contacta con soporte.
Consejos de seguridad para tu base de datos
- Usa contraseñas fuertes y cámbialas periódicamente.
- No uses el usuario root de MySQL para PrestaShop. Crea siempre un usuario específico con permisos solo para esa base de datos.
- Cambia el prefijo de las tablas (por ejemplo,
ps_amypresta_) para dificultar ataques de inyección SQL. - Realiza copias de seguridad periódicas de tu base de datos. Puedes hacerlo desde cPanel o DirectAdmin, o mediante herramientas como phpMyAdmin.
[TIP] Si tu hosting usa Syspanel (antes conocido como HestiaCP), el proceso es muy similar a DirectAdmin, pero el acceso se realiza a través del puerto 2106. Busca la sección de bases de datos MySQL y sigue los mismos pasos para crear la base y el usuario.
Preguntas frecuentes (FAQ)
¿Puedo usar la misma base de datos para dos instalaciones de PrestaShop?
No es recomendable. Cada instalación de PrestaShop necesita su propia base de datos, ya que las tablas pueden entrar en conflicto y corromper los datos. Si necesitas dos tiendas, crea dos bases de datos separadas.
¿Qué hago si no recuerdo la contraseña de mi base de datos?
Puedes cambiarla desde tu panel de control. En cPanel, ve a "Bases de datos MySQL" y en la sección de usuarios, haz clic en "Cambiar contraseña". En DirectAdmin, entra en "MySQL Management" y edita el usuario. Después de cambiarla, recuerda actualizar el archivo de configuración de PrestaShop.
¿Es necesario usar "localhost" como host?
En la mayoría de los hosting compartidos, sí. Sin embargo, en algunos casos (especialmente en planes de hosting con MySQL separado o en la nube), el host puede ser diferente. Consulta la documentación de tu proveedor o contacta con soporte si tienes dudas.
¿Qué es el prefijo de las tablas y por qué debería cambiarlo?
El prefijo es un texto que se añade al nombre de todas las tablas de la base de datos. Por ejemplo, con el prefijo ps_, la tabla de productos se llamará ps_product. Cambiarlo añade una capa extra de seguridad, ya que los atacantes suelen asumir que el prefijo es ps_.
¿Puedo conectar PrestaShop a una base de datos MySQL remota?
Sí, es posible, pero no es recomendable en hosting compartido. Las bases de datos remotas suelen tener mayor latencia y pueden ralentizar tu tienda. Además, muchos hosting bloquean conexiones externas a MySQL por seguridad. Si necesitas hacerlo, consulta con tu proveedor.
Conclusión
Conectar PrestaShop a una base de datos MySQL es un proceso sencillo si sigues los pasos adecuados. Ya sea en cPanel o DirectAdmin, lo importante es tener claros los datos de acceso y otorgar los permisos correctos al usuario. Una vez configurada la conexión, tu tienda podrá funcionar sin problemas y podrás dedicarte a lo que realmente importa: vender.
Si has seguido esta guía y aún tienes problemas, no dudes en contactar con el soporte de tu hosting. Ellos podrán ayudarte a verificar la configuración y solucionar cualquier incidencia técnica. ¡Buena suerte con tu tienda online!
