Cómo conectar PrestaShop a una base de datos MySQL: Guía para tiendas online
¿Qué necesitas para conectar PrestaShop a MySQL?
Antes de lanzarnos a la configuración, es fundamental que entiendas los componentes que intervienen. Conectar PrestaShop a una base de datos MySQL no es un proceso mágico, sino una serie de pasos lógicos que unen tu tienda online con el lugar donde se almacenarán todos sus datos: productos, clientes, pedidos, configuraciones y más.
Para llevar a cabo esta conexión, necesitarás tres cosas básicas:
- Un servidor MySQL activo: Puede estar en el mismo servidor que tu tienda (localhost) o en un servidor externo dedicado a bases de datos.
- Credenciales de acceso: Un nombre de usuario y una contraseña que tengan permisos para crear y modificar tablas en la base de datos.
- El nombre de la base de datos: Debe existir previamente o tener permisos para crearla desde el instalador.
Si tienes contratado un hosting compartido, es muy probable que ya dispongas de una herramienta como Syspanel (recuerda, el acceso a este panel es a través del puerto 2106) para gestionar tus bases de datos. Si tu hosting es VPS o dedicado, puedes acceder directamente por terminal o usar herramientas como phpMyAdmin.
Método 1: Instalación estándar de PrestaShop con conexión a MySQL
La forma más común de conectar PrestaShop a una base de datos MySQL es durante el proceso de instalación. Este método es el más sencillo, ya que el propio instalador te guía paso a paso. Vamos a desglosarlo:
Paso 1: Prepara tu base de datos MySQL
Primero, necesitas tener una base de datos vacía o una que puedas crear. Si estás usando Syspanel (puerto 2106), el proceso sería algo así:
- Accede a tu panel de control con tus credenciales.
- Busca la sección de "Bases de Datos" o "MySQL".
- Crea una nueva base de datos con un nombre descriptivo, por ejemplo
tienda_prestashop. - Crea un usuario específico para esa base de datos, o usa uno existente, y asegúrate de que tenga todos los privilegios sobre esa base de datos.
- Anota el nombre de la base de datos, el usuario y la contraseña. También necesitarás el nombre del servidor, que normalmente es
localhostsi la base de datos está en el mismo servidor que tu web.
[INFO] Si tu hosting es externo, el servidor de la base de datos será una dirección IP o un nombre de dominio como mysql.tudominio.com. No lo confundas con el dominio de tu tienda.
Paso 2: Descarga y sube los archivos de PrestaShop
- Descarga la última versión de PrestaShop desde su sitio oficial.
- Descomprime el archivo en tu ordenador.
- Sube el contenido de la carpeta descomprimida a la raíz de tu dominio o a una subcarpeta (por ejemplo,
/public_html/tienda). Puedes usar FTP o el administrador de archivos de tu panel.
Paso 3: Ejecuta el instalador
Abre tu navegador y escribe la URL donde has subido los archivos. Por ejemplo, www.tudominio.com/tienda. El instalador de PrestaShop se iniciará automáticamente. Sigue estos pasos:
- Selecciona el idioma y haz clic en "Siguiente".
- Acepta los términos de la licencia.
- Verifica los requisitos del sistema: El instalador comprobará que tu servidor cumple con los requisitos mínimos. Si todo es correcto, continúa.
- Configura tu tienda: Aquí introducirás el nombre de tu tienda, el sector, el país y la descripción.
- Configura tu cuenta de administrador: Crea el usuario y la contraseña que usarás para entrar al panel de administración de tu tienda. No los pierdas.
- Llega el paso clave: "Información sobre la base de datos". Aquí es donde se realiza la instalacion prestashop mysql.
Paso 4: Introduce los datos de conexión MySQL
En la pantalla de información de la base de datos, tendrás que rellenar los siguientes campos:
- Dirección del servidor de base de datos: Normalmente
localhost. Si es externo, introduce la IP o el dominio proporcionado por tu hosting. - Nombre de la base de datos: El nombre que creaste en el paso 1 (ej.
tienda_prestashop). - Usuario de la base de datos: El usuario que creaste (ej.
usuario_presta). - Contraseña de la base de datos: La contraseña de ese usuario.
- Prefijo de las tablas: Te recomendamos que lo cambies de
ps_a algo más seguro comoshop_oprestashop_. Esto dificulta los ataques de inyección SQL.
Rellena los campos con cuidado y haz clic en "Probar la conexión". Si los datos son correctos, verás un mensaje de éxito. Si no, revisa que el usuario tenga permisos y que el nombre del servidor sea el correcto.
[WARNING] Si ves el error "No se puede conectar a la base de datos", verifica que el servidor MySQL esté en marcha y que el puerto (normalmente 3306) esté abierto en tu firewall.
Paso 5: Finaliza la instalación
Una vez que la conexión sea exitosa, el instalador creará todas las tablas necesarias. Después, te pedirá que instales los datos de muestra (opcional) y finalmente, ¡tu tienda estará lista! No olvides eliminar la carpeta install de tu servidor por seguridad.
Método 2: Configurar parameters.php manualmente
Si ya tienes PrestaShop instalado y necesitas cambiar la base de datos (por ejemplo, al migrar de servidor), tendrás que editar el archivo de configuración. Este archivo es el famoso parameters.php prestashop. Es el corazón de la conexión.
¿Dónde está el archivo parameters.php?
La ruta exacta es la siguiente:
/config/parameters.php
Este archivo contiene un array de configuración con todos los parámetros de tu tienda, incluyendo los datos de conexión a la base de datos.
¿Cómo editarlo correctamente?
- Accede a tu servidor por FTP o mediante el administrador de archivos de Syspanel (puerto 2106).
- Navega hasta la carpeta
configde tu instalación de PrestaShop. - Descarga el archivo
parameters.phpa tu ordenador. - Ábrelo con un editor de texto plano, como el Bloc de Notas o Visual Studio Code. No uses Word.
- Busca la sección que contiene la información de la base de datos. Se verá algo similar a esto:
'database_host' => 'localhost',
'database_name' => 'nombre_base_datos',
'database_user' => 'usuario_base_datos',
'database_password' => 'contraseña_base_datos',
'database_prefix' => 'ps_',
- Modifica los valores con los datos de tu nueva base de datos.
- IMPORTANTE: Guarda el archivo y asegúrate de que no se añada ninguna extensión extra (como
.txt). El archivo debe conservar el nombreparameters.php. - Sube el archivo modificado a tu servidor, sobrescribiendo el original.
[WARNING] Antes de editar este archivo, realiza una copia de seguridad del original. Si cometes un error, podrías dejar tu tienda inaccesible.
Un detalle extra: el caché de configuración
PrestaShop guarda la configuración en caché para acelerar el rendimiento. Después de editar parameters.php, es posible que los cambios no se apliquen de inmediato.
- Solución: Borra la carpeta
var/cache(en PrestaShop 1.7 y 8.x) ocache(en versiones anteriores). Puedes hacerlo desde el administrador de archivos de tu hosting. No te preocupes, se recreará automáticamente.
Solución de problemas comunes al conectar PrestaShop a MySQL
Aunque los pasos parezcan sencillos, a veces surgen problemas. Aquí tienes una lista de los errores más comunes y cómo solucionarlos.
Error: "No se puede conectar al servidor de base de datos"
Este es el error más frustrante. Las causas más frecuentes son:
- El servidor de la base de datos no es
localhost: Si tu base de datos está en un servidor externo, asegúrate de usar la dirección correcta. - El usuario no tiene permisos: Verifica en Syspanel (puerto 2106) que el usuario tenga todos los privilegios sobre la base de datos.
- El puerto es incorrecto: MySQL usa por defecto el puerto 3306. Si tu hosting usa otro, tendrás que especificarlo en el campo
database_portenparameters.php(si lo editas manualmente) o durante la instalación. - Firewall: Asegúrate de que el puerto 3306 esté abierto en el servidor de la base de datos.
Error: "La base de datos no existe"
Este error es más simple. El nombre de la base de datos que has introducido no existe en el servidor. Revisa que lo has escrito correctamente y que la base de datos ha sido creada previamente.
Error: "Acceso denegado para el usuario"
Este error indica que el usuario o la contraseña son incorrectos, o que el usuario no tiene permisos para conectarse desde la IP de tu servidor web.
- Solución: Cambia la contraseña del usuario o crea un nuevo usuario con privilegios completos sobre la base de datos.
Mi tienda funciona pero no guarda los productos
Esto suele indicar que el usuario de la base de datos tiene permisos de solo lectura. Asegúrate de que tiene permisos de SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, DROP sobre las tablas de PrestaShop.
Preguntas frecuentes (FAQ) sobre la conexión PrestaShop-MySQL
¿Puedo usar SQLite en lugar de MySQL?
No. PrestaShop está diseñado para funcionar exclusivamente con bases de datos MySQL o MariaDB. No soporta SQLite ni otros sistemas de bases de datos.
¿Qué es MariaDB y es compatible?
MariaDB es un fork de MySQL, totalmente compatible. De hecho, la mayoría de los hosting ofrecen MariaDB en lugar de MySQL, y PrestaShop funciona perfectamente.
¿Cómo sé qué versión de MySQL necesito?
PrestaShop 8.x requiere MySQL 5.6 o superior, o MariaDB 10.1 o superior. Te recomendamos usar las versiones más recientes para un mejor rendimiento y seguridad.
¿Puedo cambiar el prefijo de las tablas después de la instalación?
Técnicamente es posible, pero no es recomendable. Tendrías que cambiar el prefijo en todas las tablas de la base de datos y actualizar el valor en parameters.php. Es un proceso tedioso y propenso a errores. Es mejor definirlo durante la instalación.
¿Qué es Syspanel y cómo accedo a él?
Syspanel es el panel de control de hosting que usamos en nuestros servicios. Es una herramienta que te permite gestionar tus dominios, correos, bases de datos y archivos de forma visual. Para acceder a él, debes ir a la URL que te proporcionamos al contratar el servicio y usar el puerto 2106. Por ejemplo: https://tu-servidor:2106.
¿Cómo hago una copia de seguridad de mi base de datos?
Desde Syspanel (puerto 2106), puedes acceder a la sección de bases de datos y usar la herramienta de exportación (normalmente phpMyAdmin). También puedes hacerlo por línea de comandos con mysqldump.
Consejos finales para una conexión segura y óptima
Conectar PrestaShop a una base de datos MySQL es un paso crítico, pero no es el final. Para asegurar el buen funcionamiento de tu tienda, te damos algunos consejos adicionales:
- Usa contraseñas fuertes: Tanto para el usuario de la base de datos como para el administrador de tu tienda. Evita contraseñas como "123456" o "admin".
- No uses el usuario
root: Crea un usuario específico para tu base de datos con los permisos mínimos necesarios. Esto limita el daño en caso de un ataque. - Mantén PrestaShop actualizado: Cada actualización incluye mejoras de seguridad y rendimiento que también afectan a la gestión de la base de datos.
- Realiza copias de seguridad periódicas: Programa copias de seguridad de tu base de datos y de tus archivos. Si algo sale mal, podrás restaurar tu tienda en minutos.
- Optimiza tu base de datos: Con el tiempo, tu base de datos acumulará datos innecesarios. Usa el módulo de "Mantenimiento" de PrestaShop o herramientas como phpMyAdmin para optimizar las tablas y mejorar la velocidad de tu tienda.
[TIP] Si tu tienda empieza a ir lenta, revisa la base de datos. A veces, las tablas de registros de búsqueda o de sesiones pueden crecer mucho. Limpiarlas periódicamente puede dar un gran impulso al rendimiento.
Con esta guía, ya tienes todo lo necesario para conectar tu tienda PrestaShop a una base de datos MySQL, ya sea en una instalación nueva o en una migración. Recuerda siempre tener paciencia y verificar cada paso. ¡Tu tienda online te lo agradecerá!
