Cómo cambiar la base de datos de PrestaShop a MySQL (Parámetros de conexión)
¿Qué necesitas saber antes de cambiar la base de datos de PrestaShop a MySQL?
Cambiar la base de datos de PrestaShop a MySQL es una tarea más común de lo que piensas. Puede que estés migrando tu tienda a un nuevo servidor, que quieras moverla a un hosting más potente, o simplemente que necesites apuntar a una base de datos externa por temas de rendimiento. Sea cual sea tu motivo, la buena noticia es que no necesitas ser un experto en programación para hacerlo. Solo tienes que entender un archivo concreto y modificar unos pocos parámetros.
Antes de empezar, es importante que sepas que PrestaShop guarda toda su información (productos, clientes, pedidos, configuración) en una base de datos. Por defecto, la mayoría de instalaciones usan MySQL o MariaDB. El archivo que conecta tu tienda con esa base de datos se llama parameters.php y se encuentra en la carpeta app/config/ de tu instalación.
En este artículo te voy a explicar paso a paso cómo cambiar la base de datos de PrestaShop a MySQL, qué debes modificar en el archivo parameters.php, y cómo evitar errores típicos que dejan la tienda en blanco. Vamos a ello.
¿Qué es el archivo parameters.php en PrestaShop?
El archivo parameters.php es el corazón de la conexión de tu tienda con su base de datos. Sin él, PrestaShop no sabe dónde encontrar la información que necesita para mostrarte los productos o procesar los pedidos. Es un archivo de configuración que contiene, entre otras cosas, los datos de acceso a MySQL.
¿Dónde se encuentra?
La ruta exacta es:
/tu_directorio_prestashop/app/config/parameters.php
Por ejemplo, si tu tienda está en public_html, la ruta sería:
public_html/app/config/parameters.php
¿Qué contiene?
El archivo tiene una estructura similar a esta:
<?php
return array(
'parameters' => array(
'database_host' => 'localhost',
'database_port' => '3306',
'database_name' => 'nombre_base_datos',
'database_user' => 'usuario_mysql',
'database_password' => 'tu_contraseña',
'database_prefix' => 'ps_',
'database_engine' => 'InnoDB',
// ... otros parámetros
),
);
Cada uno de estos campos es esencial para que la conexión funcione. Te los explico en detalle:
| Parámetro | Qué significa |
|---|---|
database_host | La dirección del servidor MySQL (normalmente localhost, pero puede ser una IP o un dominio) |
database_port | El puerto de conexión (por defecto es el 3306) |
database_name | El nombre exacto de tu base de datos |
database_user | El usuario que tiene permisos para acceder a esa base de datos |
database_password | La contraseña de ese usuario |
database_prefix | El prefijo de las tablas (normalmente ps_) |
database_engine | El motor de almacenamiento (normalmente InnoDB) |
Paso 1: Haz una copia de seguridad antes de tocar nada
[WARNING] Este paso es obligatorio. Si modificas los parámetros de conexión de forma incorrecta, tu tienda mostrará un error de conexión a la base de datos y los clientes no podrán acceder.
Haz una copia de seguridad de:
- El archivo
parameters.php: simplemente descárgalo a tu ordenador o renómbralo aparameters.php.bak. - La base de datos actual: usa phpMyAdmin o la herramienta que te ofrezca tu hosting para exportar un backup completo. Así, si algo falla, podrás restaurar todo.
[TIP] Guarda la copia de seguridad en un lugar seguro, fuera del servidor. Nunca sabes cuándo la vas a necesitar.
Paso 2: Prepara tu nueva base de datos MySQL
Si vas a cambiar a una base de datos nueva (por ejemplo, porque te mudas de hosting), primero debes crearla y configurarla. Esto lo haces desde el panel de control de tu hosting.
Si usas cPanel
- Entra en Bases de datos MySQL.
- Crea una nueva base de datos con un nombre descriptivo.
- Crea un usuario MySQL y asígnale una contraseña segura.
- Añade ese usuario a la base de datos con todos los privilegios.
Si usas Syspanel (antiguo HestiaCP)
[INFO] Si tu hosting usa Syspanel (el antiguo HestiaCP), el acceso se realiza a través del puerto 2106. Por ejemplo: https://tu-dominio.com:2106.
- Accede a Syspanel con tus credenciales.
- Ve a la sección de Bases de datos.
- Crea una nueva base de datos y un usuario asociado.
- Anota el nombre de la base de datos, el usuario y la contraseña. Los necesitarás en el siguiente paso.
[TIP] En algunos paneles, el nombre de la base de datos incluye el prefijo del usuario (por ejemplo, usuario_bd_tienda). Asegúrate de usar el nombre completo.
Paso 3: Modifica el archivo parameters.php
Ahora viene la parte importante. Tienes dos opciones: editar el archivo directamente desde el servidor o descargarlo, editarlo en tu ordenador y subirlo de nuevo.
Opción A: Editar desde el administrador de archivos
- Accede al administrador de archivos de tu hosting.
- Navega hasta
app/config/. - Busca el archivo
parameters.phpy haz clic derecho para editar. - Modifica los valores que necesites cambiar.
Opción B: Editar desde FTP
- Conéctate por FTP a tu servidor.
- Descarga el archivo
parameters.php. - Ábrelo con un editor de texto como Visual Studio Code, Sublime Text o el Bloc de notas.
- Modifica los valores y guarda el archivo.
- Sube el archivo de nuevo a la misma ubicación, sobrescribiendo el original.
¿Qué campos debes cambiar?
Dependiendo de tu situación, tendrás que modificar uno o varios de estos campos:
database_host: Si la base de datos está en el mismo servidor que tu tienda, usalocalhost. Si está en un servidor externo, pon la IP o el dominio del servidor MySQL.database_port: El puerto por defecto es3306. Solo cámbialo si tu proveedor te indica otro.database_name: Pon el nombre exacto de la nueva base de datos.database_user: Pon el usuario que tenga permisos sobre esa base de datos.database_password: Pon la contraseña de ese usuario.
[WARNING] Respeta las comillas simples ' y los puntos y comas ;. Un solo error de sintaxis puede romper la conexión. No dejes espacios en blanco de más.
Paso 4: Guarda los cambios y comprueba la conexión
Una vez que hayas modificado los parámetros, guarda el archivo y súbelo si es necesario. Ahora viene la prueba de fuego: visita tu tienda.
Si todo funciona correctamente
Verás tu tienda con normalidad. Los productos, las imágenes y el carrito de compra deberían cargar sin problemas.
Si aparece un error
Lo más probable es que veas un mensaje parecido a:
Error de conexión a la base de datos
No te asustes. Aquí tienes una lista de comprobación rápida:
- ¿El nombre de la base de datos es correcto? Revisa si hay errores tipográficos.
- ¿El usuario y la contraseña son correctos? Prueba a conectarte desde phpMyAdmin o desde Syspanel con esos mismos datos.
- ¿El servidor MySQL acepta conexiones externas? Si la base de datos está en otro servidor, es posible que tengas que configurar los permisos de acceso remoto.
- ¿El puerto es el correcto? Algunos proveedores usan puertos alternativos.
[TIP] Si no estás seguro de los datos, contacta con tu proveedor de hosting. Ellos podrán verificar que la base de datos existe y que el usuario tiene permisos.
Paso 5: Limpia la caché de PrestaShop
A veces, aunque hayas cambiado la configuración correctamente, PrestaShop sigue mostrando la información antigua porque tiene la caché guardada. Para solucionarlo, debes limpiar la caché.
¿Cómo limpiar la caché?
- Entra en el panel de administración de tu tienda.
- Ve a Parámetros avanzados > Rendimiento.
- Haz clic en el botón Vaciar la caché.
Si no puedes acceder al panel de administración, puedes eliminar manualmente los archivos de caché desde el servidor. Busca la carpeta var/cache/ (en versiones antiguas puede ser cache/) y borra su contenido.
[INFO] En PrestaShop 1.7 y versiones posteriores, la caché se guarda en la carpeta var/cache. En versiones anteriores, la ruta es cache. Si tienes dudas, revisa la documentación de tu versión.
Errores comunes al cambiar la base de datos de PrestaShop a MySQL
Aquí tienes los problemas más habituales y cómo solucionarlos:
Error: "Link to database cannot be established"
Este es el error más común. Significa que PrestaShop no puede conectarse a la base de datos. Las causas suelen ser:
- Datos incorrectos: revisa usuario, contraseña, nombre de la base de datos y puerto.
- La base de datos no existe: verifica que la has creado correctamente.
- El usuario no tiene privilegios: asegúrate de que el usuario tiene acceso a esa base de datos.
Error: "Table 'ps_shop_url' doesn't exist"
Este error indica que la base de datos está vacía o que el prefijo de las tablas es incorrecto. Comprueba:
- Que has importado el backup de tu base de datos anterior.
- Que el campo
database_prefixcoincide con el prefijo de las tablas (normalmenteps_).
Error: "Access denied for user"
Este error suele aparecer cuando las credenciales de acceso son incorrectas o el usuario no tiene permisos para conectarse desde esa dirección IP. Si la base de datos está en un servidor externo, es posible que tengas que añadir tu IP a la lista de hosts permitidos.
Preguntas frecuentes (FAQ)
¿Puedo cambiar la base de datos de PrestaShop sin perder datos?
Sí, siempre que hagas una copia de seguridad de la base de datos original y la importes en la nueva. El proceso de cambio solo modifica la configuración de conexión, no los datos en sí.
¿Qué es mejor, MySQL o MariaDB?
Para PrestaShop, ambas opciones son válidas. MariaDB es un fork de MySQL y suele ser más rápida en algunas operaciones. La mayoría de los hosting ofrecen MariaDB por defecto, así que no tendrás problemas si usas cualquiera de las dos.
¿Necesito conocimientos de programación para hacer este cambio?
No. Con seguir los pasos de esta guía y tener los datos de acceso a la base de datos, es suficiente. Eso sí, debes ser cuidadoso al editar el archivo parameters.php.
¿Qué pasa si no tengo acceso al archivo parameters.php?
Si no puedes editar el archivo desde el administrador de archivos o FTP, contacta con tu proveedor de hosting. Ellos podrán ayudarte a modificarlo o a restaurar una copia de seguridad.
¿Puedo cambiar la base de datos desde el panel de administración de PrestaShop?
No. PrestaShop no tiene una opción nativa para cambiar la configuración de la base de datos desde el panel de administración. Este cambio se realiza exclusivamente modificando el archivo parameters.php.
Consejos finales
Cambiar la base de datos de PrestaShop a MySQL es un proceso sencillo si sigues los pasos correctos. Aquí tienes un resumen rápido:
- Haz una copia de seguridad de todo.
- Prepara la nueva base de datos en tu servidor.
- Edita el archivo
parameters.phpcon los nuevos datos de conexión. - Guarda los cambios y comprueba que tu tienda funciona.
- Limpia la caché para asegurarte de que no se muestran datos antiguos.
[WARNING] Si tu tienda está en producción (con clientes reales), intenta hacer el cambio en horas de baja afluencia. Así minimizarás el impacto si algo sale mal.
[TIP] Si te sientes inseguro, puedes hacer una prueba en un entorno de desarrollo. Crea una copia de tu tienda en un subdominio y practica el cambio allí antes de hacerlo en tu tienda real.
Con un poco de paciencia y atención a los detalles, tu tienda estará conectada a la nueva base de datos en cuestión de minutos. ¡Mucha suerte!
