Cómo conectar una base de datos MySQL con PrestaShop (cPanel, Plesk, DirectAdmin)
Antes de Empezar: ¿Qué Necesitas para Conectar MySQL con PrestaShop?
Conectar tu tienda online con una base de datos es como ponerle los cimientos a una casa: sin una buena base, todo lo demás se tambalea. Si estás leyendo esto, probablemente estás en plena instalación de PrestaShop o migrando tu tienda a un nuevo servidor. ¡Tranquilo! No necesitas ser un gurú de la programación para lograrlo.
Para realizar la conexión, necesitarás tener a mano estos tres datos mágicos que te proporcionará tu proveedor de hosting o tu panel de control:
- Nombre de la base de datos (suele ser algo como
usuario_prestashopodb12345_prestashop). - Usuario de la base de datos (a menudo es similar al nombre de la base, pero no siempre coincide).
- Contraseña de la base de datos (la que definiste al crear el usuario).
- Nombre del servidor o host (normalmente es
localhost, pero en algunos casos puede sermysql.tudominio.como una IP como127.0.0.1).
Con estos cuatro elementos, podrás completar el proceso sin importar si usas cPanel, Plesk o DirectAdmin. A continuación, te explico cómo hacerlo paso a paso en cada uno de ellos, además de cómo configurarlo dentro de PrestaShop.
Paso 1: Crear la Base de Datos en tu Panel de Control
Antes de conectar MySQL con PrestaShop, necesitas crear la base de datos y un usuario. Piensa en ello como preparar el garaje antes de meter el coche. Vamos a ver cómo se hace en los tres paneles más comunes.
### Crear Base de Datos en cPanel
cPanel es el panel más popular del mundo. Su interfaz es muy visual, pero a veces tiene demasiadas opciones. No te preocupes, sigue estas instrucciones:
- Accede a tu cPanel (normalmente en
tudominio.com/cpanel). - Busca la sección Bases de Datos y haz clic en Asistente de Bases de Datos MySQL (o "MySQL Database Wizard"). Este asistente te guiará por todo el proceso.
- Paso 1 del asistente: Escribe un nombre para tu base de datos. El sistema añadirá tu nombre de usuario de cPanel como prefijo (ej.
tuusuario_prestashop). Haz clic en Siguiente. - Paso 2 del asistente: Crea un usuario para la base de datos. Elige un nombre de usuario y una contraseña segura (usa el botón "Generador de contraseñas" para que sea robusta). Anota estos datos en un bloc de notas. Haz clic en Siguiente.
- Paso 3 del asistente: Marca la casilla TODOS LOS PRIVILEGIOS y haz clic en Siguiente. ¡Listo! Ya tienes tu base de datos creada.
[TIP] En cPanel, el nombre del servidor de base de datos suele ser
localhost. Anota este dato, lo necesitarás más adelante.
### Crear Base de Datos en Plesk
Plesk tiene un enfoque más minimalista que cPanel, pero es igual de efectivo. Para crear tu base de datos:
- Inicia sesión en tu panel de Plesk.
- En el menú lateral izquierdo, busca el apartado Bases de datos y haz clic en Agregar base de datos (o "Add Database").
- Rellena el formulario:
- Nombre de la base de datos: Elige uno descriptivo, por ejemplo,
prestashop_db. - Tipo de base de datos: Selecciona MySQL.
- Servidor de base de datos: Si solo tienes uno, lo dejará preseleccionado.
- Nombre de la base de datos: Elige uno descriptivo, por ejemplo,
- En la sección Usuarios de la base de datos, marca la opción Crear nuevo usuario e introduce un nombre de usuario y una contraseña segura. Confirma la contraseña.
- Haz clic en Aceptar (o "OK").
[INFO] En Plesk, el host de la base de datos suele ser
localhosttambién, pero si tu servidor es remoto, Plesk te mostrará la IP o el nombre del servidor. Puedes verlo en los detalles de la base de datos justo después de crearla.
### Crear Base de Datos en DirectAdmin
DirectAdmin es conocido por su velocidad y simplicidad. El proceso es muy directo:
- Accede a tu panel de DirectAdmin.
- Busca el icono de MySQL Management (o "Administración de MySQL") en la sección de Administración de Cuentas.
- Haz clic en Create New Database (Crear nueva base de datos).
- Verás un formulario con tres campos:
- Database Name: Escribe el nombre de tu base (ej.
prestashop). - Database User: Escribe el nombre del usuario (ej.
prestauser). - Password: Escribe una contraseña y confírmala.
- Database Name: Escribe el nombre de tu base (ej.
- Haz clic en Create (Crear). DirectAdmin creará la base de datos y el usuario con todos los privilegios automáticamente. No necesitas asignar permisos manualmente, ¡es fantástico!
[WARNING] En DirectAdmin, asegúrate de que el nombre de la base de datos y el usuario no contengan guiones medios (
-). Usa guiones bajos (_) para evitar errores de conexión.
Paso 2: Configurar la Conexión en PrestaShop (Instalación)
Ahora que tu base de datos está lista, es hora de decirle a PrestaShop dónde encontrarla. Este proceso es idéntico en los tres paneles, ya que ocurre dentro del instalador web de PrestaShop.
- Sube los archivos de PrestaShop a tu servidor (normalmente en la carpeta
public_htmlohttpdocs). - Abre tu navegador y escribe la URL de tu tienda (ej.
tudominio.com). Se iniciará el asistente de instalación. - Sigue los pasos hasta llegar a la pantalla de Configuración de la base de datos (o "Database Configuration").
- En esta pantalla, deberás rellenar los campos con la información que creaste en el Paso 1:
- Host de la base de datos:
localhost(o el que te indique tu panel). - Nombre de la base de datos: El nombre exacto que creaste (ej.
tuusuario_prestashopen cPanel). - Usuario de la base de datos: El usuario que creaste.
- Contraseña: La contraseña de ese usuario.
- Prefijo de las tablas: Deja el valor por defecto (
ps_). Solo cámbialo si sabes lo que haces, ya que sirve para evitar ataques de inyección SQL básicos.
- Host de la base de datos:
- Haz clic en Comprobar la conexión (o "Test your database connection now!").
- Si todo es correcto, verás un mensaje de éxito y podrás continuar con la instalación. Si no, revisa los datos introducidos.
[WARNING] Si ves el error "Error de conexión a la base de datos", revisa que la contraseña no tenga espacios al copiarla y que el usuario tenga todos los privilegios sobre la base de datos. Un error común es confundir el usuario de la base de datos con el usuario del panel de control.
Paso 3: Configurar la Conexión en PrestaShop (Migración o Cambio de Servidor)
¿Ya tienes una tienda funcionando y solo has cambiado de hosting? Entonces no necesitas el instalador, sino editar el archivo de configuración de PrestaShop. Este archivo se llama parameters.php y se encuentra en la carpeta app/config/ de tu instalación.
Para editarlo, necesitarás acceder a tu servidor mediante FTP (con FileZilla, por ejemplo) o a través del Administrador de Archivos de tu panel de control. Este método funciona igual para cPanel, Plesk y DirectAdmin, ya que simplemente estás editando un archivo PHP.
- Localiza el archivo
app/config/parameters.phpen tu servidor. - Descárgalo y ábrelo con un editor de texto como Notepad++ o Sublime Text. No uses el Bloc de Notas de Windows, ya que puede dañar el formato.
- Busca las líneas que empiezan con
'database_host','database_name','database_user'y'database_password'. - Modifica los valores entre comillas simples con los datos de tu nueva base de datos. Por ejemplo:
'database_host' => 'localhost', 'database_name' => 'mi_usuario_prestashop', 'database_user' => 'mi_usuario_prestashop_user', 'database_password' => 'MiNuevaContraseñaSegura123!', - Guarda el archivo y súbelo de nuevo a la misma ubicación, reemplazando el original.
[TIP] Antes de editar este archivo, haz una copia de seguridad del original. Si algo sale mal, podrás restaurarlo fácilmente. Este es un consejo de oro para cualquier cambio en tu tienda.
Resolución de Problemas Comunes al Conectar MySQL con PrestaShop
Aquí tienes una lista de los errores más habituales y cómo solucionarlos. Si has seguido los pasos y algo falla, revisa esta guía rápida.
### Error "Connection to server closed unexpectedly"
Este error suele deberse a un problema con el servidor, no con tus datos. A veces ocurre por un límite de memoria o por un bloqueo temporal. Prueba a reiniciar el servicio de MySQL desde tu panel de control (en cPanel, en la sección "MySQL", puedes reiniciar el servicio). Si no puedes, contacta con tu proveedor.
### Error "Access denied for user 'usuario'@'localhost'"
Este error es un clásico. Significa que el usuario o la contraseña son incorrectos, o que el usuario no tiene permisos sobre la base de datos.
- Vuelve a tu panel de control y verifica que el nombre de usuario y la base de datos existen exactamente como los has escrito.
- Asegúrate de que el usuario tiene todos los privilegios sobre esa base de datos en particular. En cPanel, puedes revisar esto en la sección "MySQL Databases" (no el asistente). En Plesk, en la pestaña "Usuarios" de la base de datos.
### Error "Unknown database 'nombre_base'"
Este error indica que la base de datos no existe. Puede ser que la hayas creado en otro servidor o que el nombre tenga un prefijo que no has incluido. Revisa el nombre exacto en tu panel de control.
### Error "Too many connections"
Este error es menos común, pero puede aparecer en servidores compartidos con mucho tráfico. Significa que el servidor MySQL ha alcanzado su límite de conexiones. No es un problema de tu configuración, sino del servidor. Prueba a contactar con tu proveedor de hosting para que aumente el límite o para que revise si hay algún proceso bloqueado.
Preguntas Frecuentes (FAQ) sobre la Conexión de PrestaShop y MySQL
Para terminar, vamos a resolver las dudas que más nos llegan al soporte técnico. Si no encuentras la tuya aquí, ¡déjala en los comentarios!
### ¿Qué es mejor, usar localhost o una IP como host?
En el 99% de los casos, localhost es la opción correcta, ya que la base de datos está en el mismo servidor que tu web. Si tu hosting es de tipo "Cloud" o "VPS" y la base de datos está en un servidor separado, tu proveedor te dará una dirección específica (como mysql.tudominio.com). Usa siempre la que te indique tu proveedor.
### ¿Puedo usar la misma base de datos para dos tiendas PrestaShop?
Técnicamente podrías, pero no es recomendable. PrestaShop usa un prefijo de tablas (ps_), y si pones dos tiendas en la misma base, podrías cambiar el prefijo de una de ellas (ej. ps_shop2_). Sin embargo, esto complica las copias de seguridad y la gestión de la base de datos. Es mucho más seguro y limpio crear una base de datos independiente para cada tienda.
### ¿Qué hago si olvidé mi contraseña de la base de datos?
No pasa nada, no necesitas recordarla. Puedes cambiarla desde tu panel de control:
- En cPanel: Ve a "MySQL Databases", busca tu usuario y haz clic en "Change Password" (Cambiar contraseña).
- En Plesk: Ve a "Bases de datos", haz clic en tu base de datos y luego en la pestaña "Usuarios". Ahí podrás cambiar la contraseña del usuario.
- En DirectAdmin: Ve a "MySQL Management", busca tu usuario y haz clic en "Change Password".
[WARNING] Después de cambiar la contraseña, deberás actualizar el archivo
parameters.phpen tu servidor, tal como vimos en el Paso 3, para que tu tienda pueda volver a conectarse.
### ¿Cómo sé si mi conexión es exitosa?
La forma más sencilla es entrar en el Panel de Administración de PrestaShop (tudominio.com/admin). Si la conexión es correcta, podrás acceder sin problemas. Si no, verás un error de conexión a la base de datos. También puedes comprobar el archivo de logs de errores de tu servidor para obtener más detalles.
### ¿Qué pasa si mi proveedor usa HestiaCP?
Si tu proveedor usa un panel llamado Syspanel, debes saber que el acceso se realiza a través del puerto 2106 (ej. tudominio.com:2106). El proceso de creación de la base de datos es muy similar a los mencionados, pero la interfaz es propia de Syspanel. Busca la sección "Bases de datos" o "MySQL" dentro del panel y sigue las instrucciones en pantalla. El resto del proceso (configurar en PrestaShop) es exactamente igual.
Conclusión: Ya Tienes tu Base de Datos Conectada
Conectar una base de datos MySQL con PrestaShop es un proceso que, aunque pueda parecer intimidante al principio, es bastante mecánico. La clave está en tener claros los datos de acceso y saber dónde encontrarlos en tu panel de control. Ya sea que uses cPanel, Plesk, DirectAdmin o Syspanel, los pasos son esencialmente los mismos: crear la base de datos, crear el usuario, asignar permisos y, finalmente, introducir esos datos en PrestaShop.
Esperamos que esta guía te haya sido de gran ayuda. Si has seguido todos los pasos y aún tienes problemas, recuerda que tu proveedor de hosting es tu mejor aliado para solucionar incidencias a nivel de servidor. ¡Mucha suerte con tu tienda online!
