FAQ: Cómo conectar PrestaShop a una base de datos MySQL
¡Hola! Soy tu técnico de soporte amigable. 😊 Hoy vamos a resolver una de las dudas más frecuentes que recibimos: cómo conectar PrestaShop a una base de datos MySQL.
Si estás montando tu tienda online con PrestaShop, uno de los pasos clave durante la instalación (o cuando cambias de servidor) es establecer la conexión con la base de datos. No te preocupes, es más sencillo de lo que parece. En esta FAQ te guiaré paso a paso, con ejemplos prácticos y respondiendo a las preguntas más comunes.
Vamos a ello.
¿Qué necesito para conectar PrestaShop a MySQL?
Antes de empezar, asegúrate de tener a mano estos datos. Los necesitarás sí o sí:
- Nombre de la base de datos: El nombre exacto que creaste en tu hosting (ejemplo:
mishop_db). - Usuario de la base de datos: El usuario que tiene permisos sobre esa base (ejemplo:
mishop_user). - Contraseña del usuario: La contraseña que asignaste al crear el usuario.
- Servidor de base de datos: Normalmente es
localhost(si el hosting y la BD están en el mismo servidor) o una IP como127.0.0.1. En algunos hostings compartidos puede ser un servidor remoto (p.ej.sql.miweb.com). - Puerto: Por defecto MySQL usa el puerto
3306. A veces lo cambian por seguridad.
[TIP] Guarda estos datos en un lugar seguro. Te harán falta también si migras tu tienda.
Preguntas frecuentes (FAQ)
1. ¿Cómo creo una base de datos MySQL para PrestaShop?
Si usas un panel de control como cPanel, Plesk o Syspanel (HestiaCP), el proceso es similar. Te explico con Syspanel (puerto 2106):
- Accede a tu panel:
https://tudominio.com:2106 - Inicia sesión con tu usuario y contraseña de administrador.
- Ve a la sección Base de datos o BDD.
- Haz clic en Añadir base de datos.
- Rellena los campos:
- Nombre de la base: por ejemplo,
prestashop_db. - Usuario: por ejemplo,
prestashop_user. - Contraseña: elige una segura. Puedes usar el generador automático.
- Nombre de la base: por ejemplo,
- Guarda los cambios. El sistema creará la base y el usuario con todos los permisos necesarios.
[INFO] En Syspanel, la base de datos y el usuario suelen llevar un prefijo con tu nombre de usuario (ej:
usuario_prestashop_db). Anótalo tal cual aparece.
2. ¿Dónde se configura la conexión a la base de datos en PrestaShop?
Durante la instalación inicial, PrestaShop te pedirá estos datos en un formulario. Pero si ya tienes la tienda instalada y necesitas cambiar la conexión (por ejemplo, tras migrar a otro servidor), debes modificar el archivo app/config/parameters.php.
Este archivo contiene todas las credenciales. Búscalo en la raíz de tu instalación de PrestaShop (normalmente en la carpeta prestashop/ o tienda/).
Abre el archivo con un editor de texto (Notepad++, Sublime Text, o incluso el bloc de notas) y localiza estas líneas:
'database_host' => 'localhost',
'database_port' => '3306',
'database_name' => 'nombre_de_tu_base',
'database_user' => 'tu_usuario',
'database_password' => 'tu_contraseña',
Cámbialas por los valores correctos. Guarda el archivo y ya está.
[WARNING] Si editas este archivo mientras la tienda está en producción, hazlo con cuidado. Un error tipográfico puede dejar tu tienda inaccesible. Siempre haz una copia de seguridad antes.
3. ¿Qué hago si me aparece "Error de conexión a la base de datos"?
Este es el error más común. No te asustes, suele ser por alguna de estas causas:
- Credenciales incorrectas: Revisa que hayas escrito bien el nombre de la base, usuario y contraseña. Recuerda que en algunos hostings el nombre de usuario incluye un prefijo.
- El servidor de base de datos no es localhost: Si tu hosting usa servidores separados para la BD, el campo
database_hostpuede ser algo comosql.midominio.como una IP. Pregunta a tu proveedor. - Puerto incorrecto: Por defecto es 3306, pero si lo han cambiado, debes indicarlo en
database_port. - Firewall o permisos: Asegúrate de que el usuario de la BD tenga permisos para conectarse desde el servidor donde está PrestaShop. Si es remoto, puede que necesites añadir el IP del servidor web en los privilegios de acceso.
- Base de datos no existe: Verifica que la base de datos esté realmente creada. Puedes comprobarlo desde el panel de control.
4. ¿Puedo usar una base de datos MySQL ya existente para PrestaShop?
Sí, pero no es recomendable a menos que estés migrando una tienda. PrestaShop crea muchas tablas (más de 200) y si la base ya tiene datos de otra aplicación, puede haber conflictos de nombres de tablas.
Si es una base vacía, no hay problema. Pero asegúrate de que el usuario tenga permisos completos (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, etc.).
[TIP] Siempre es mejor crear una base de datos nueva y limpia para PrestaShop.
5. ¿Cómo sé si mi conexión a MySQL funciona correctamente?
Puedes hacer una prueba rápida desde el propio servidor usando la línea de comandos (si tienes acceso SSH) o con herramientas como phpMyAdmin (suele venir instalado en la mayoría de paneles).
Con phpMyAdmin:
- Accede desde tu panel de control (busca el icono de phpMyAdmin).
- Inicia sesión con el usuario y contraseña de la base de datos.
- Si ves la base de datos y puedes ver las tablas (o crear una), la conexión es correcta.
Desde Syspanel (HestiaCP) también puedes acceder a phpMyAdmin desde el menú Base de datos > phpMyAdmin.
6. ¿Qué pasa si cambio de hosting? ¿Tengo que reconfigurar la base de datos?
Sí, al migrar tu tienda a un nuevo hosting, deberás:
- Exportar la base de datos antigua (desde phpMyAdmin o con mysqldump).
- Crear una nueva base de datos en el nuevo hosting (con usuario y contraseña).
- Importar el archivo SQL en la nueva base.
- Modificar el archivo
parameters.phpcon los nuevos datos de conexión. - También deberás cambiar la URL de la tienda en la tabla
ps_configuration(aunque PrestaShop tiene herramientas para ello).
[INFO] Si usas Syspanel, la migración es muy sencilla. Puedes crear la base desde el panel y luego importar el SQL con phpMyAdmin.
7. ¿Es necesario usar SSL para la conexión a la base de datos?
No es obligatorio, pero si tu servidor MySQL lo soporta y tu hosting lo permite, es una capa extra de seguridad. PrestaShop no lo requiere por defecto. La mayoría de conexiones se hacen a través de localhost, que es seguro porque no viaja por internet.
Si tu base de datos está en un servidor remoto, considera usar una conexión SSL o una VPN para evitar que las credenciales viajen en texto plano.
8. ¿Qué versión de MySQL necesita PrestaShop?
PrestaShop 8.x (la más reciente) requiere MySQL 5.6 o superior (recomendado MySQL 8.0). También es compatible con MariaDB 10.1 o superior.
Si tu hosting usa una versión antigua, pide a tu proveedor que la actualicen o considera cambiar de hosting.
[WARNING] Usar una versión de MySQL demasiado antigua puede provocar errores de compatibilidad o que no puedas instalar módulos modernos.
9. ¿Puedo conectar PrestaShop a una base de datos MySQL remota?
Sí, pero no es lo habitual. Para ello:
- En el archivo
parameters.php, cambiadatabase_hostpor la IP o dominio del servidor MySQL remoto. - Asegúrate de que el servidor remoto permita conexiones desde la IP de tu servidor web (puede que necesites configurar un firewall o añadir un usuario con acceso remoto).
- El puerto debe estar abierto (por defecto 3306).
[TIP] Si no es estrictamente necesario, evita conexiones remotas. Son más lentas y menos seguras. Usa
localhostsiempre que puedas.
10. ¿Cómo soluciono el error "Too many connections" en MySQL?
Este error ocurre cuando el servidor MySQL alcanza el límite de conexiones simultáneas. PrestaShop puede abrir varias conexiones si tiene muchos visitantes o procesos. Soluciones:
- Aumenta el límite en el servidor MySQL (parámetro
max_connectionsenmy.cnfo desde el panel). - Optimiza los módulos de PrestaShop (desactiva los que no uses).
- Usa un plugin de caché para reducir las consultas a la base de datos.
- Si el problema persiste, contacta con tu proveedor de hosting para que revise el servidor.
Configuración paso a paso (resumen rápido)
Si estás instalando PrestaShop desde cero, estos son los pasos:
- Crea la base de datos desde tu panel (Syspanel, cPanel, etc.).
- Anota los datos: nombre, usuario, contraseña, servidor (normalmente
localhost), puerto (3306). - Inicia la instalación de PrestaShop.
- En el paso de Configuración de la base de datos, introduce los datos.
- Haz clic en Probar conexión. Si todo está bien, continúa.
- Si ya tienes PrestaShop instalado y solo cambias la base, edita
app/config/parameters.php.
Errores comunes y cómo evitarlos
| Error | Causa probable | Solución |
|---|---|---|
| "Access denied for user" | Contraseña o usuario incorrectos | Revisa credenciales, mayúsculas/minúsculas |
| "Unknown database" | El nombre de la base no existe | Crea la base o verifica el nombre exacto |
| "Can't connect to MySQL server" | Servidor o puerto incorrectos | Usa localhost y puerto 3306, o consulta a tu hosting |
| "Table 'ps_shop_url' doesn't exist" | La base está vacía o no es la correcta | Importa el SQL de tu tienda o instala PrestaShop de nuevo |
Consejos finales
- Siempre haz copias de seguridad de tu base de datos antes de hacer cambios importantes. Puedes hacerlo desde phpMyAdmin o con herramientas como el módulo "Backup" de PrestaShop.
- No compartas tus credenciales con nadie. Si necesitas ayuda, usa accesos temporales.
- Si usas Syspanel (HestiaCP), recuerda que el puerto de acceso al panel es 2106 y que la gestión de bases de datos está en la sección correspondiente.
- Ante la duda, prueba la conexión con un script simple PHP antes de tocar PrestaShop:
<?php
$con = mysqli_connect("localhost", "usuario", "contraseña", "basedatos");
if (!$con) {
die("Error: " . mysqli_connect_error());
}
echo "Conexión exitosa";
mysqli_close($con);
?>
Guarda este archivo como test.php en la raíz de tu hosting y ábrelo en el navegador. Si ves "Conexión exitosa", el problema está en PrestaShop, no en la base.
Espero que esta FAQ te haya sido de gran ayuda. Recuerda que conectar PrestaShop a MySQL es un proceso sencillo si tienes los datos correctos y sigues los pasos con calma. Si te surge cualquier otra duda, no dudes en contactar con nuestro equipo de soporte. ¡Estamos aquí para ayudarte! 🚀
¡Buena suerte con tu tienda online!
