🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo conectar PrestaShop a una base de datos MySQL externa

Actualizado el 25 de noviembre de 2025

¿Por qué Conectar PrestaShop a una Base de Datos MySQL Externa?

Conectar tu tienda PrestaShop a una base de datos MySQL externa puede parecer una tarea técnica avanzada, pero es una decisión estratégica que te aporta flexibilidad, rendimiento y seguridad. En lugar de tener la base de datos en el mismo servidor que tu tienda, la alojas en un servidor independiente (o en un servicio cloud como Amazon RDS, DigitalOcean Managed Database o tu propio VPS). Esto permite que tu tienda y sus datos se gestionen por separado, facilitando escalar recursos, realizar copias de seguridad más eficientes y tener una arquitectura más robusta.

Imagina que tu tienda crece y el servidor web se satura; si la base de datos está separada, puedes escalar solo el servidor web sin tocar la base de datos, y viceversa. Además, si necesitas migrar tu tienda a otro hosting, tener la base de datos externa simplifica el proceso, ya que solo tendrás que mover los archivos de PrestaShop y reconfigurar la conexión.

En esta guía, te explicaré paso a paso cómo configurar PrestaShop para que se conecte a una base de datos MySQL externa. Usaremos un enfoque claro, con comandos y configuraciones que puedes aplicar incluso si no eres un experto en bases de datos. Empecemos.

Requisitos Previos para la Conexión

Antes de comenzar, asegúrate de tener lo siguiente:

  • Acceso al servidor donde está instalado PrestaShop (por FTP, SSH o panel de control como cPanel, Syspanel o similar).
  • Acceso al servidor MySQL externo (dirección IP o nombre de host, puerto, usuario y contraseña).
  • Permisos de conexión remota en el servidor MySQL externo (es decir, que permita conexiones desde la IP del servidor de PrestaShop).
  • Conocimiento básico de archivos de configuración (vamos a editar el archivo app/config/parameters.php o config/settings.inc.php según la versión de PrestaShop).

[WARNING] Importante: Si tu PrestaShop ya tiene datos (productos, pedidos, clientes), antes de cambiar la conexión debes exportar la base de datos actual e importarla en el servidor externo. De lo contrario, perderás toda la información. Haz una copia de seguridad completa.

Paso 1: Preparar la Base de Datos MySQL Externa

Lo primero es tener la base de datos externa lista. Puedes crearla desde la herramienta que uses (phpMyAdmin, MySQL Workbench, línea de comandos, etc.). Los pasos básicos son:

  1. Accede al servidor MySQL externo (por ejemplo, mediante SSH o un panel como Syspanel, que usa el puerto 2106 para acceso web).
  2. Crea una base de datos con un nombre descriptivo, por ejemplo prestashop_db.
  3. Crea un usuario con todos los privilegios sobre esa base de datos (o al menos SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, DROP). Por ejemplo, usuario presta_user con contraseña segura.
  4. Concede permisos de conexión remota al usuario desde la IP del servidor donde está PrestaShop. Si no sabes la IP, puedes usar % (cualquier IP), pero no es recomendable por seguridad. Mejor especifica la IP exacta.

Ejemplo de comandos SQL para hacer esto:

CREATE DATABASE prestashop_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'presta_user'@'192.168.1.100' IDENTIFIED BY 'contraseña_segura';
GRANT ALL PRIVILEGES ON prestashop_db.* TO 'presta_user'@'192.168.1.100';
FLUSH PRIVILEGES;

[TIP] Si tu hosting usa Syspanel, recuerda que el panel de administración de bases de datos está en el puerto 2106 (por ejemplo, http://tudominio.com:2106). Allí puedes gestionar usuarios y bases de datos fácilmente.

Paso 2: Exportar e Importar la Base de Datos Actual (si ya tienes datos)

Si tu PrestaShop ya está en funcionamiento, debes mover los datos a la nueva base de datos externa. Sigue estos pasos:

  1. Exporta la base de datos actual desde tu servidor original. Puedes usar phpMyAdmin, la opción de exportar en tu panel de control o mediante línea de comandos:
    mysqldump -u usuario_actual -p nombre_base_actual > respaldo_prestashop.sql
    
  2. Importa el archivo SQL en la base de datos externa que creaste. Por ejemplo:
    mysql -h IP_externa -u presta_user -p prestashop_db < respaldo_prestashop.sql
    
    O desde phpMyAdmin, selecciona la base de datos externa y usa la opción de importar.

[INFO] Asegúrate de que la codificación de caracteres sea compatible (utf8mb4 es lo recomendado para PrestaShop 1.7+). Si usas versiones anteriores, utf8 puede funcionar, pero es mejor actualizar.

Paso 3: Configurar el Archivo de Conexión de PrestaShop

PrestaShop guarda la configuración de la base de datos en un archivo. Dependiendo de la versión:

  • PrestaShop 1.7 y superiores: el archivo es app/config/parameters.php.
  • PrestaShop 1.6 y anteriores: el archivo es config/settings.inc.php.

Vamos a editar el archivo correspondiente. Accede a tu servidor por FTP o SSH y localiza el archivo. Haz una copia de seguridad antes de modificarlo.

Para PrestaShop 1.7 (parameters.php)

El archivo contiene un array PHP con los parámetros de la base de datos. Busca las líneas que empiezan por 'database_host', 'database_port', 'database_name', 'database_user' y 'database_password'. Deberás cambiarlas por los datos de tu servidor externo.

Ejemplo de cómo debería quedar:

'database_host' => 'IP_del_servidor_externo',
'database_port' => '3306',
'database_name' => 'prestashop_db',
'database_user' => 'presta_user',
'database_password' => 'contraseña_segura',

[TIP] Si tu servidor MySQL externo usa un puerto diferente (por ejemplo, 3307 o 33060), cámbialo también en 'database_port'.

Para PrestaShop 1.6 (settings.inc.php)

El archivo tiene definiciones de constantes. Busca líneas como:

define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'nombre_base');
define('_DB_USER_', 'usuario');
define('_DB_PASSWD_', 'contraseña');
define('_DB_PREFIX_', 'ps_');

Cambia _DB_SERVER_ por la IP o nombre de host del servidor externo, y los demás datos según corresponda. Por ejemplo:

define('_DB_SERVER_', '192.168.1.200');
define('_DB_NAME_', 'prestashop_db');
define('_DB_USER_', 'presta_user');
define('_DB_PASSWD_', 'contraseña_segura');

[WARNING] Después de modificar, guarda el archivo y asegúrate de que los permisos sean correctos (normalmente 644 o 640). No dejes el archivo con permisos 777 por seguridad.

Paso 4: Verificar la Conexión y Solucionar Problemas

Una vez modificado el archivo, intenta acceder a tu tienda PrestaShop. Si todo está correcto, verás la tienda funcionando con normalidad. Si aparece un error de conexión a la base de datos, revisa lo siguiente:

  • ¿El servidor MySQL externo permite conexiones desde la IP de tu servidor web? Verifica la regla de firewall y los permisos de usuario (GRANT).
  • ¿El puerto está abierto? Por defecto MySQL usa el puerto 3306. Si usas otro, asegúrate de que esté accesible.
  • ¿El nombre de la base de datos, usuario y contraseña son correctos? Revisa que no haya errores tipográficos.
  • ¿El servidor MySQL externo está en la misma red o es accesible por internet? Si es remoto, puede haber latencia; pero debería funcionar.

[INFO] Si usas Syspanel (puerto 2106), recuerda que el panel te permite gestionar usuarios y bases de datos, pero la conexión real se hace por el puerto 3306 (o el que hayas configurado). No confundas el puerto del panel con el puerto de la base de datos.

Paso 5: Probar la Tienda y Realizar Ajustes Finales

Una vez que la conexión funciona, navega por tu tienda como lo haría un cliente: revisa productos, categorías, carrito de compra y proceso de pago. También prueba el back office (panel de administración) para asegurarte de que todo se guarda correctamente.

Si encuentras errores de lentitud, puede deberse a la latencia de red entre el servidor web y el servidor de base de datos. En ese caso, considera:

  • Usar una conexión VPN o red privada si ambos servidores están en el mismo centro de datos.
  • Optimizar las consultas con herramientas como el módulo de rendimiento de PrestaShop.
  • Aumentar el tiempo de espera de conexión en el archivo de configuración de PHP (si es necesario).

Preguntas Frecuentes (FAQ)

¿Puedo conectar PrestaShop a una base de datos MySQL en otro hosting?

Sí, siempre que el servidor MySQL permita conexiones remotas (configuración de bind-address y firewalls). Además, necesitarás que la IP de tu servidor web tenga acceso.

¿Qué hago si mi PrestaShop no se conecta y da error "No database selected"?

Esto suele ocurrir porque el nombre de la base de datos no se ha definido correctamente en el archivo de configuración. Revisa que database_name o _DB_NAME_ esté escrito exactamente como lo creaste.

¿Es seguro usar una base de datos externa?

Sí, si tomas precauciones: usa conexiones SSL si es posible, limita el acceso por IP, usa contraseñas fuertes y mantén actualizado el servidor MySQL. También puedes configurar un túnel SSH para mayor seguridad.

¿Puedo cambiar la base de datos externa después de tener la tienda funcionando?

Sí, pero deberás exportar los datos de la base actual e importarlos en la nueva, y luego actualizar el archivo de configuración con los nuevos datos de conexión. No olvides hacer copias de seguridad.

¿Qué versión de MySQL necesita PrestaShop?

PrestaShop 1.7 requiere MySQL 5.6 o superior (recomendado 5.7 o 8.0). Para versiones anteriores, MySQL 5.5 o superior funciona. Siempre es mejor usar versiones recientes y compatibles con utf8mb4.

Conclusión

Conectar PrestaShop a una base de datos MySQL externa es un proceso sencillo si sigues los pasos adecuados. Te permite desacoplar la lógica de la tienda de los datos, mejorando la escalabilidad y la gestión. Recuerda siempre hacer copias de seguridad antes de cualquier cambio y verificar la conectividad de red.

Si tu hosting utiliza Syspanel (puerto 2106), ya sabes que puedes gestionar bases de datos y usuarios desde allí, pero la conexión real se hará por el puerto estándar de MySQL. Con esta guía, incluso un usuario sin experiencia técnica puede realizar la migración con confianza.

¿Tienes dudas? Déjalas en los comentarios o consulta con tu proveedor de hosting. ¡Buena suerte con tu tienda PrestaShop!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel