Cómo configurar una base de datos MySQL para PrestaShop (instalación y conexión)
Introducción: La base de datos, el corazón de tu PrestaShop
Cuando decides instalar PrestaShop, uno de los pasos más críticos y, a menudo, más confusos para los principiantes es la configuración de la base de datos MySQL. Piensa en tu tienda online como un gran almacén: los archivos de PrestaShop (las cajas, las estanterías y el mostrador) son el software en sí, pero la base de datos (el libro de contabilidad y el registro de inventario) es donde se guardan todos los productos, pedidos, clientes y configuraciones.
Sin una conexión correcta entre tu prestashop mysql, la tienda simplemente no puede funcionar. Un error aquí es la causa número uno de pantallas de error blancas o mensajes como "Error de conexión con la base de datos" durante la instalación.
En esta guía extensa, te voy a acompañar paso a paso, sin tecnicismos innecesarios, para que aprendas a crear base datos prestashop, configurarla correctamente y solucionar los errores mysql prestashop más comunes. Vamos a ello.
Prerrequisitos: ¿Qué necesitas antes de empezar?
Antes de lanzarnos a configurar nada, asegúrate de tener a mano lo siguiente:
- Acceso a tu panel de control de hosting (cPanel, Plesk o Syspanel). Aquí es donde crearás la base de datos y el usuario.
- Las credenciales de acceso a dicho panel (usuario y contraseña).
- Los archivos de PrestaShop ya subidos a tu servidor (en la carpeta
public_htmlo similar) o listos para subir. - Un nombre de dominio o una URL de prueba (como
localhostsi estás en un servidor local tipo XAMPP).
Si tu hosting utiliza Syspanel (antes conocido como HestiaCP), recuerda que el acceso a este panel de administración se realiza a través del puerto 2106 (por ejemplo, https://tudominio.com:2106). No lo olvides, porque es un detalle que suele dar problemas.
Paso 1: Crear la base de datos MySQL (El primer gran paso)
Este es el proceso estándar. La interfaz exacta puede variar ligeramente entre paneles, pero la lógica es idéntica. Vamos a ver cómo hacerlo en los dos entornos más comunes.
### Crear base de datos en cPanel (El más popular)
- Inicia sesión en tu cPanel con tus credenciales.
- Busca la sección "Bases de Datos" y haz clic en el asistente de "Bases de Datos MySQL®".
- En el primer paso, escribe un nombre para tu base de datos. Normalmente se añadirá un prefijo con tu nombre de usuario (ej.
usuario_prestashop). Elige un nombre descriptivo comotiendaoprestashop_db. - Haz clic en "Siguiente paso".
- Ahora, crea un usuario para la base de datos. Escribe un nombre de usuario (ej.
usu_tienda) y una contraseña segura. Te recomiendo usar el generador de contraseñas que incluye cPanel. Anota esta información en un lugar seguro, la necesitarás en el siguiente paso. - Haz clic en "Crear usuario".
- En el siguiente paso, se te pedirá que añadas el usuario a la base de datos. Selecciona tu usuario y tu base de datos en los menús desplegables.
- IMPORTANTE: Marca la casilla "TODOS LOS PRIVILEGIOS". Este es el paso más crucial. Sin todos los privilegios, PrestaShop no podrá crear sus tablas.
- Haz clic en "Hacer cambios" y ¡listo! Ya tienes tu base de datos y tu usuario creados.
### Crear base de datos en Syspanel (HestiaCP)
- Accede a tu panel Syspanel a través de
https://tudominio.com:2106. - En el menú lateral, busca la sección "Bases de Datos" o el icono de una base de datos.
- Haz clic en "Añadir Base de Datos".
- Completa los campos:
- Base de datos: Un nombre descriptivo (ej.
prestashop_db). - Usuario: Un nombre para el usuario (ej.
prestashop_user). - Contraseña: Establece una contraseña robusta. Puedes usar el generador integrado.
- Base de datos: Un nombre descriptivo (ej.
- Haz clic en "Guardar". Syspanel creará automáticamente la base de datos, el usuario y le otorgará todos los privilegios necesarios sobre esa base de datos. Es un proceso más sencillo y directo.
### Crear base de datos en un entorno local (XAMPP)
Si estás desarrollando en tu ordenador, el proceso es aún más fácil:
- Abre el panel de control de XAMPP y asegúrate de que Apache y MySQL están iniciados.
- Ve a
http://localhost/phpmyadmin. - Haz clic en la pestaña "Bases de datos".
- Escribe el nombre de tu base de datos (ej.
prestashop_local) y selecciona "utf8mb4_general_ci" como cotejamiento. Haz clic en "Crear". - Ahora, ve a la pestaña "Cuentas de usuario" y haz clic en "Agregar cuenta de usuario".
- Crea un usuario (ej.
tienda_user) con su contraseña. - En la sección "Base de datos para el usuario", marca la opción "Crear base de datos con el mismo nombre y otorgar todos los privilegios" o selecciona la base de datos que acabas de crear y marca la casilla "Otorgar todos los privilegios".
- Haz clic en "Continuar" y listo.
Paso 2: Configurar la conexión MySQL en PrestaShop
Una vez que tienes la base de datos creada, es hora de decirle a PrestaShop cómo conectarse a ella. Esto se hace durante el proceso de instalación.
### El asistente de instalación de PrestaShop
- Abre tu navegador y navega a la URL donde has subido los archivos de PrestaShop (ej.
tudominio.comolocalhost/prestashop). Se iniciará el asistente de instalación. - Sigue los pasos iniciales (selección de idioma, aceptación de licencia, verificación de compatibilidad del sistema). El asistente te avisará si falta algún requisito, pero eso es otra historia.
- Llegarás a la pantalla "Información de la tienda". Completa el nombre de tu tienda, actividad, país, etc. Continúa.
- Ahora llegarás al paso crucial: "Configuración del sistema" o "Configuración de la base de datos". Aquí es donde se realiza la conexión mysql prestashop.
### Los campos de configuración explicados
Esta pantalla te pedirá los siguientes datos. Vamos a verlos uno por uno:
- Motor de base de datos: Deja la opción por defecto, que suele ser MySQL o MySQLi. No la cambies.
- Dirección del servidor de base de datos: Este es un punto de confusión común.
- Si tu hosting es cPanel o Syspanel, normalmente es
localhost. La mayoría de los servidores compartidos usanlocalhostpara las conexiones internas. - Si el hosting te ha proporcionado una dirección específica (como
mysql.tudominio.com), escríbela aquí. - Si estás en XAMPP, también es
localhost.
- Si tu hosting es cPanel o Syspanel, normalmente es
- Nombre de la base de datos: Escribe exactamente el nombre que le diste al crearla. En cPanel, recuerda incluir el prefijo del usuario (ej.
usuario_prestashop). En Syspanel, el nombre completo que pusiste. - Usuario de la base de datos: El nombre de usuario que creaste.
- Contraseña de la base de datos: La contraseña que definiste para ese usuario.
- Prefijo de las tablas: Este campo es importante. Por defecto, viene como
ps_. Te recomiendo cambiarlo por algo más seguro comoshop_omypresta_. Esto dificulta los intentos de ataque por inyección SQL, ya que el atacante no sabrá el nombre exacto de las tablas.
[TIP] Escribe la información en un bloc de notas antes de empezar la instalación. Así evitarás errores de tipeo y podrás copiar y pegar directamente.
### Finalizar la instalación
- Después de rellenar todos los campos, haz clic en "Probar conexión" o "Comprobar". El asistente verificará que los datos son correctos.
- Si todo está bien, verás un mensaje de éxito y podrás continuar con el siguiente paso.
- El asistente procederá a instalar las tablas en tu base de datos. Este proceso puede tardar unos minutos.
- Una vez completado, podrás configurar el administrador de tu tienda (email, contraseña, nombre) y finalizar la instalación.
Paso 3: Solucionar los errores más comunes de conexión MySQL
Aquí es donde la mayoría de la gente se frustra. No te preocupes, casi todos los problemas tienen una solución sencilla. Vamos a ver los errores mysql prestashop más habituales y cómo arreglarlos.
### Error: "No se puede conectar al servidor de base de datos"
Este es el error más genérico y frustrante. Significa que PrestaShop no puede hablar con MySQL.
- Causa probable 1: El servidor de base de datos no es
localhost. Algunos hostings usan un servidor de base de datos remoto. Revisa el correo de bienvenida de tu hosting o el panel de control. Si ves una dirección comolocalhosten la información de tu base de datos, úsala. Si ves otra cosa (ej.db.example.com), úsala. Pista: En cPanel, a menudo puedes ver el nombre del servidor MySQL en la sección de "Bases de datos MySQL". - Causa probable 2: El usuario o la contraseña son incorrectos. Asegúrate de que no hay espacios en blanco y de que las mayúsculas y minúsculas son correctas. Es muy fácil equivocarse al copiar una contraseña generada automáticamente.
- Causa probable 3: El usuario no tiene permisos sobre la base de datos. Vuelve al paso de creación y verifica que has otorgado TODOS LOS PRIVILEGIOS al usuario sobre la base de datos específica. A veces, por error, se crea el usuario pero no se añade a la base de datos.
[WARNING] No intentes conectarte a tu base de datos con el usuario
rooten un hosting compartido. Es una práctica insegura y, en la mayoría de los casos, no tienes permisos para hacerlo. Utiliza siempre el usuario que has creado específicamente para PrestaShop.
### Error: "El nombre de la base de datos no existe" o "No se puede seleccionar la base de datos"
Este error indica que PrestaShop encontró el servidor y el usuario, pero no encuentra la base de datos.
- Causa probable 1: Error en el nombre de la base de datos. Vuelve a verificar el nombre exacto. En cPanel, el nombre completo incluye tu prefijo de usuario. Por ejemplo, si tu usuario es
pepey llamaste a la basetienda, el nombre completo espepe_tienda. En Syspanel, el nombre es el que pusiste directamente. - Causa probable 2: El usuario no tiene privilegios sobre esa base de datos específica. Has creado el usuario, pero no lo has "vinculado" a la base de datos. En cPanel, esto se hace en el paso de "Añadir usuario a la base de datos". En Syspanel, suele hacerse automáticamente, pero verifica que el usuario esté listado como propietario de la base de datos.
### Error: "El prefijo de las tablas es inválido" o "No se pueden crear las tablas"
Este error es menos común, pero ocurre.
- Causa probable 1: El prefijo contiene caracteres especiales. El prefijo solo debe contener letras, números y guiones bajos. Evita puntos, guiones o espacios.
- Causa probable 2: Ya existe una instalación de PrestaShop en esa base de datos. Si has intentado instalar antes y ha fallado a mitad de camino, puede que haya tablas residuales. La solución más limpia es borrar la base de datos y crearla de nuevo desde cero, o si tienes acceso a phpMyAdmin, eliminar todas las tablas de la base de datos antes de reintentar la instalación.
### Error: "El usuario de la base de datos no tiene privilegios para escribir"
Este error es más raro, pero puede aparecer.
- Causa probable: El usuario tiene permisos de solo lectura. Ve a la configuración de tu base de datos en el panel de control y asegúrate de que el usuario tiene TODOS LOS PRIVILEGIOS, incluyendo
INSERT,UPDATE,DELETE,CREATE,ALTER, etc. Si solo tieneSELECT, no podrá escribir los datos de la tienda.
Consejos profesionales para optimizar tu base de datos (Extras)
Una vez que tu tienda está funcionando, la base de datos requiere un mantenimiento mínimo para un rendimiento óptimo.
### Usa el cotejamiento correcto
Durante la creación de la base de datos, asegúrate de que el cotejamiento (collation) sea utf8mb4_general_ci o utf88_unicode_ci. Esto te permitirá guardar correctamente caracteres especiales como emojis o tildes y acentos, y es el estándar recomendado para PrestaShop.
### Haz copias de seguridad periódicas
Nunca subestimes el poder de una copia de seguridad. Puedes hacerlo desde el panel de control de tu hosting o usando herramientas como phpMyAdmin (exportando la base de datos). Programa una copia de seguridad semanal, como mínimo.
### Limpia las tablas de caché
PrestaShop tiene tablas de caché (normalmente las que empiezan por ps_cache o ps_connections). Con el tiempo, pueden llenarse de datos basura. Puedes limpiarlas desde el panel de administración de PrestaShop (Parámetros avanzados -> Rendimiento -> Vaciar la caché) o manualmente desde phpMyAdmin si te sientes cómodo.
Preguntas Frecuentes (FAQ)
Para terminar, respondo a las dudas más habituales que me encuentro a diario:
-
¿Puedo usar la misma base de datos para dos instalaciones de PrestaShop?
No es recomendable. Aunque uses prefijos de tabla diferentes (ps_para una ytienda2_para otra), es una mala práctica que puede llevar a conflictos y dificultar la gestión y las copias de seguridad. Es mucho más limpio crear una base de datos separada para cada tienda. -
¿Qué hago si olvido la contraseña de mi base de datos?
No hay problema. Ve a tu panel de control de hosting, entra en la sección de "Bases de datos MySQL" y busca la opción de "Cambiar contraseña" para ese usuario. Después de cambiarla, deberás actualizar el archivoapp/config/parameters.phpde tu PrestaShop si la tienda ya está instalada, o usar la nueva contraseña en el asistente de instalación. -
¿Es lo mismo "MySQL" que "MySQLi"?
Para efectos prácticos, sí.MySQLies la versión mejorada y más segura de la extensiónMySQLde PHP. PrestaShop 1.7 y 8.x funcionan perfectamente con ambas, pero es mejor usarMySQLisi tu servidor lo soporta. -
¿Puedo cambiar el prefijo de las tablas después de la instalación?
Técnicamente es posible, pero es un proceso muy tedioso y arriesgado que implica modificar muchas tablas y archivos de configuración. No lo recomiendo a menos que sepas exactamente lo que estás haciendo. Lo mejor es decidirlo durante la instalación. -
Mi hosting usa Syspanel. ¿Dónde encuentro los datos de mi base de datos?
En tu panel Syspanel (recuerda, accediendo por el
