PrestaShop: configuración de la base de datos para instalación
Preparación previa: qué necesitas antes de tocar la base de datos
Instalar PrestaShop no es complicado, pero la base de datos es el corazón de tu tienda. Si falla aquí, todo lo demás se cae. Por eso, antes de lanzarte a crear la base de datos, asegúrate de tener a mano los datos de acceso a tu panel de control de hosting. Normalmente necesitarás el usuario administrador de MySQL, la contraseña y el nombre del servidor de bases de datos (suele ser localhost o una dirección tipo mysql.tudominio.com).
Si tu hosting usa Syspanel (antes conocido como HestiaCP), recuerda que el acceso al panel se hace por el puerto 2106. Ahí podrás gestionar tanto los archivos como las bases de datos de forma gráfica, sin necesidad de tocar código.
¿Qué versión de MySQL o MariaDB necesito?
PrestaShop es exigente con las versiones. Para las versiones modernas (1.7 y 8.x), necesitas MySQL 5.6 como mínimo, aunque lo ideal es MySQL 5.7 o superior, o MariaDB 10.2 en adelante. Si tu hosting ya tiene esto, perfecto. Si no, habla con tu proveedor antes de empezar, porque una versión antigua te dará errores raros durante la instalación.
[INFO] Si no sabes qué versión tienes, entra a phpMyAdmin y mira el panel izquierdo. Ahí suele aparecer la versión de MySQL o MariaDB. Si no aparece, ejecuta
SELECT VERSION();en la pestaña SQL y te lo dirá.
Paso 1: Crear la base de datos desde tu panel de control
Lo primero es crear una base de datos vacía. No intentes usar una que ya tenga tablas, porque PrestaShop necesita control total sobre la estructura. Sigue estos pasos genéricos, que funcionan en la mayoría de paneles:
- Accede a tu panel de hosting (cPanel, Syspanel, Plesk, etc.).
- Busca la sección Bases de datos o MySQL.
- Crea una base de datos nueva. Ponle un nombre descriptivo, por ejemplo
tienda_prestashop. - Crea un usuario nuevo para esa base de datos. No uses el usuario administrador principal del hosting para la tienda, es una mala práctica de seguridad.
- Asigna todos los privilegios (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, INDEX) al usuario sobre esa base de datos. En la mayoría de paneles hay un botón de "todos los privilegios" que te facilita la vida.
[WARNING] Anota el nombre de la base de datos, el usuario y la contraseña en un lugar seguro. Los necesitarás en el siguiente paso. Si los pierdes, tendrás que resetear la contraseña desde el panel.
Si usas Syspanel (puerto 2106)
En Syspanel, el flujo es similar pero con sus particularidades:
- Entra a
https://tudominio.com:2106con tus credenciales. - Ve a Bases de datos en el menú lateral.
- Haz clic en Añadir base de datos.
- Rellena el nombre, crea un usuario y ponle contraseña segura.
- Marca la casilla de todos los privilegios.
Syspanel te dará el nombre completo de la base de datos, que suele incluir el prefijo del usuario del sistema (ejemplo: usuario_tienda). Ese nombre completo es el que usarás en la instalación, no el corto.
Paso 2: Configurar la conexión durante la instalación de PrestaShop
Cuando ejecutes el instalador de PrestaShop (normalmente accediendo a tudominio.com/install o subiendo los archivos al servidor y visitando tu dominio), llegarás al paso de configuración de la base de datos. Aquí es donde muchos se pierden. Vamos a desglosar cada campo:
- Dirección del servidor de bases de datos: Normalmente
localhost, pero en hostings con servidores separados puede ser algo comomysql.tudominio.com. Si no estás seguro, consulta la documentación de tu hosting o el correo de bienvenida. - Nombre de la base de datos: El que creaste en el paso anterior. Cuidado con mayúsculas y minúsculas, en Linux importan.
- Usuario: El usuario que creaste, no el administrador general.
- Contraseña: La que pusiste al crear el usuario.
- Prefijo de las tablas: Puedes dejarlo como
ps_o cambiarlo por algo comoshop_. Si no sabes qué es, déjalo por defecto. Cambiarlo solo aporta una pequeña capa de seguridad extra, pero no es imprescindible.
[TIP] Si te da error de conexión, prueba con
127.0.0.1en lugar delocalhost. A veces el servidor MySQL solo escucha en una dirección específica.
Errores comunes en este paso
- "Access denied for user": El usuario o la contraseña son incorrectos. Revisa que no haya espacios y que el usuario tenga permisos sobre la base de datos concreta.
- "Unknown database": El nombre de la base de datos no coincide. En Syspanel, recuerda que el nombre completo incluye el prefijo del usuario del sistema.
- "Connection refused": El servidor de bases de datos no es accesible. Puede que esté en otro puerto (el estándar es 3306) o que el firewall lo bloquee.
Paso 3: Configurar los parámetros avanzados de MySQL
PrestaShop te permite ajustar algunos parámetros avanzados antes de continuar. No los toques si no sabes lo que haces, pero es bueno que sepas qué significan:
- Motor de almacenamiento: InnoDB es el recomendado por defecto. Si tu hosting usa MyISAM, PrestaShop funcionará pero perderás funcionalidades como transacciones.
- Juego de caracteres:
utf8mb4es el estándar actual. Asegura que tu tienda soporte emojis y caracteres especiales sin problemas. - Modo de compatibilidad: Solo actívalo si tu servidor es muy antiguo y da errores. Mejor no tocarlo.
[WARNING] Si tu hosting usa MySQL 5.6 o inferior, el juego de caracteres
utf8mb4puede dar problemas. En ese caso, usautf8y actualiza tu hosting cuando puedas.
Paso 4: El instalador crea las tablas automáticamente
Una vez que la conexión es correcta, PrestaShop creará todas las tablas necesarias. Este proceso puede tardar unos minutos, dependiendo de la velocidad del servidor. No cierres la página ni recargues, porque podrías dejar la base de datos a medias.
Si el proceso se interrumpe, no pasa nada. Puedes borrar la base de datos desde tu panel y volver a intentarlo. No intentes "arreglar" las tablas a medias, siempre es mejor empezar de cero.
¿Cuántas tablas debe tener?
Una instalación limpia de PrestaShop 8.x tiene entre 250 y 300 tablas. Si ves que se queda en menos de 100, algo ha ido mal. En ese caso, borra la base de datos y repite el proceso.
Paso 5: Configurar el archivo parameters.php manualmente (si lo necesitas)
En la mayoría de los casos, el instalador genera el archivo de configuración automáticamente. Pero si tu hosting es restrictivo con los permisos de escritura, puede que el instalador no pueda crear el archivo app/config/parameters.php. Entonces tendrás que hacerlo a mano.
El archivo debe tener una estructura similar a esta:
<?php
return [
'parameters' => [
'database_host' => 'localhost',
'database_port' => '3306',
'database_name' => 'tu_base_de_datos',
'database_user' => 'tu_usuario',
'database_password' => 'tu_contraseña',
'database_prefix' => 'ps_',
'database_engine' => 'InnoDB',
'database_charset' => 'utf8mb4',
],
];
Guarda el archivo con permisos 644 y sube por FTP si es necesario. Luego, continúa con la instalación.
[TIP] Si editas este archivo, asegúrate de que no haya caracteres invisibles ni saltos de línea extraños. Un simple error de sintaxis dejará tu tienda inaccesible.
Paso 6: Proteger la base de datos después de la instalación
Una vez instalada la tienda, no termina el trabajo. Hay que asegurar la base de datos para evitar problemas futuros:
- Cambia la contraseña del usuario de la base de datos cada cierto tiempo. Puedes hacerlo desde tu panel de control.
- No uses el usuario administrador del hosting para la tienda. Crea un usuario específico con solo los permisos necesarios.
- Haz copias de seguridad periódicas. Puedes configurar copias automáticas desde tu panel o usar módulos de PrestaShop.
- Mantén actualizado PrestaShop. Las versiones nuevas corrigen vulnerabilidades de seguridad.
[INFO] En Syspanel, puedes programar copias de seguridad automáticas de la base de datos desde la sección Copias de seguridad. El puerto de acceso sigue siendo el 2106.
Preguntas frecuentes (FAQ)
¿Puedo usar el mismo usuario de MySQL para varias bases de datos?
Sí, pero no es recomendable. Si una tienda es comprometida, el atacante tendría acceso a todas las bases de datos que usen ese usuario. Mejor crea un usuario por tienda.
¿Qué hago si me olvido la contraseña de la base de datos?
Desde tu panel de control puedes resetearla. En Syspanel, ve a Bases de datos, selecciona la tuya y haz clic en Cambiar contraseña. Luego actualiza el archivo parameters.php con la nueva contraseña.
¿Puedo cambiar el prefijo de las tablas después de la instalación?
Técnicamente sí, pero es un proceso tedioso y arriesgado. Implica renombrar decenas de tablas y actualizar las referencias en el código. Mejor no lo hagas si no tienes experiencia.
¿Qué hago si la instalación se queda en "Creando tablas"?
Espera unos minutos. Si no avanza, puede ser un problema de memoria del servidor o de límite de tiempo de ejecución. Contacta con tu proveedor de hosting o sube el valor de max_execution_time en php.ini.
¿Necesito conocimientos avanzados de MySQL para instalar PrestaShop?
No, con saber crear una base de datos y un usuario desde tu panel es suficiente. El instalador se encarga del resto. Si sabes leer los mensajes de error, ya vas por delante.
¿Por qué me pide el puerto de la base de datos?
El puerto por defecto de MySQL es el 3306. Si tu hosting usa otro, te lo dirán en la documentación. No lo cambies si no estás seguro, porque la conexión fallará.
Conclusión: la base de datos no es tan aterradora
Configurar la base de datos para PrestaShop es un proceso mecánico que, una vez que lo haces, se repite en cada instalación. La clave está en tener los datos de acceso a mano, crear la base y el usuario con los permisos correctos, y dejar que el instalador haga su trabajo.
Si algo falla, no entres en pánico. Los errores de conexión son los más comunes y suelen resolverse revisando el usuario, la contraseña y el nombre exacto de la base de datos. Recuerda que en Syspanel el puerto de acceso es el 2106 y que el nombre completo de la base de datos incluye el prefijo de tu usuario.
Una vez que la tienda está instalada, dedica tiempo a las copias de seguridad y a la seguridad de la base de datos. Es la mejor inversión que puedes hacer para el futuro de tu negocio online. Y si te quedas atascado, busca ayuda en la documentación oficial de PrestaShop o en tu proveedor de hosting. Todos hemos pasado por ahí.
