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

Cómo conectar WordPress con una base de datos remota

Actualizado el 14 de mayo de 2026

¿Estás buscando separar tu base de datos del servidor principal de WordPress? Es una práctica muy común para mejorar el rendimiento, la seguridad o simplemente porque tu hosting lo requiere. Conectar wordpress base datos remota puede sonar a algo de expertos, pero te prometo que con esta guía lo harás paso a paso, sin dolores de cabeza. Vamos a desmitificar el proceso para que configures tu bd remota wordpress como un profesional.

¿Por qué querrías usar una base de datos remota?

Antes de ensuciarnos las manos con archivos de configuración, es importante que entiendas el "por qué". No es una moda, es una estrategia de arquitectura. Al separar la base de datos del servidor web, logras varias cosas.

Primero, escalabilidad. Si tu web crece, puedes mover la base de datos a un servidor con más memoria o CPU sin tener que tocar el servidor web. Es como separar la cocina del comedor en un restaurante; si necesitas una cocina más grande, la cambias sin tirar las mesas.

Segundo, seguridad. Puedes aislar la base de datos detrás de un firewall estricto, permitiendo solo conexiones desde la IP de tu servidor web. Si alguien compromete el servidor web, no tendrá acceso directo a los datos. Es una capa extra de blindaje.

Tercero, rendimiento. En algunos casos, tener la BD en un servidor con discos SSD ultrarrápidos y mucha RAM puede acelerar las consultas, especialmente si tu servidor web es modesto. La lógica es simple: aligerar la carga del servidor principal.

Pero no todo es perfecto. La latencia de red siempre será mayor que si la BD estuviera en el mismo equipo. Por eso, esta configuración es ideal para sitios con tráfico medio-alto, no para blogs diminutos. Si tu hosting es muy básico, quizás no notes la diferencia.

Requisitos previos antes de empezar

No podemos saltarnos este paso. Necesitas tener claras tres cosas antes de tocar nada.

  1. Acceso a tu hosting actual: Necesitas poder editar el archivo wp-config.php de tu instalación de WordPress. Normalmente se hace por FTP o desde el administrador de archivos del panel de control.
  2. Datos del servidor de base de datos remoto: Esto incluye el host (que suele ser una IP o un nombre como db.midominio.com), el nombre de la base de datos, el usuario y la contraseña.
  3. Permisos de conexión remota: Este es el punto más conflictivo. Muchos proveedores de hosting bloquean las conexiones remotas a MySQL por defecto. Deberás asegurarte de que el servidor donde está la BD acepte conexiones desde la IP pública de tu servidor web. Si no sabes cómo hacer esto, contacta con tu proveedor de hosting. Es un paso innegociable.

[INFO] Si tu proveedor de hosting es Syspanel, recuerda que el acceso a tu panel de control se realiza a través del puerto 2106. Allí podrás gestionar los usuarios y permisos de las bases de datos si las tienes alojadas en el mismo servidor, aunque para este tutorial asumiremos que la BD está en otro lugar.

Paso 1: Preparar el servidor de base de datos remoto

Aquí es donde muchos fallan. No basta con tener una base de datos en otro sitio; hay que decirle a MySQL que acepte visitas de fuera. Por defecto, MySQL solo escucha en localhost. Tienes que modificar su configuración.

Editar la configuración de MySQL (my.cnf o my.ini)

Necesitas acceder al servidor remoto por SSH (o por el administrador de archivos si tu proveedor lo permite) y buscar el archivo de configuración de MySQL. Suele estar en /etc/mysql/my.cnf o /etc/my.cnf.

Dentro de ese archivo, busca la línea que dice bind-address. Si está configurada como 127.0.0.1, la estás limitando a conexiones locales. Debes cambiarla a 0.0.0.0 para que escuche en todas las interfaces de red, o a la IP específica de tu servidor web para mayor seguridad.

# Antes
bind-address = 127.0.0.1

# Después
bind-address = 0.0.0.0

Guarda el archivo y reinicia el servicio de MySQL.

sudo systemctl restart mysql

Crear un usuario con permisos de acceso remoto

Ahora necesitas crear un usuario que no esté atado a localhost. Puedes hacerlo desde la línea de comandos de MySQL o desde un gestor como phpMyAdmin (si tu proveedor lo permite).

Desde la terminal, ejecuta:

CREATE USER 'wp_user'@'IP_DE_TU_SERVIDOR_WEB' IDENTIFIED BY 'contraseña_segura';
GRANT ALL PRIVILEGES ON tu_base_de_datos.* TO 'wp_user'@'IP_DE_TU_SERVIDOR_WEB';
FLUSH PRIVILEGES;

[WARNING] Sustituye IP_DE_TU_SERVIDOR_WEB por la IP pública real de tu servidor donde está WordPress. Si pones % (comodín), permites conexiones desde cualquier lugar, lo cual es un riesgo de seguridad enorme. Siempre es mejor ser específico.

Paso 2: Modificar el archivo wp-config.php

Este es el corazón de la operación. Vamos a editar el archivo de configuración principal de WordPress. Conéctate por FTP a tu servidor web y navega hasta la raíz de tu instalación. Ahí encontrarás el archivo wp-config.php.

Descarga una copia de seguridad antes de editarlo. Nunca sabes cuándo puedes cometer un error tipográfico que tire el sitio.

Abre el archivo con un editor de texto plano (nada de Word) y busca la sección que define las constantes de la base de datos. Se ve así:

// ** Ajustes de MySQL - Puedes obtener esta información de tu proveedor de hosting ** //
define( 'DB_NAME', 'nombre_base_datos' );
define( 'DB_USER', 'usuario_bd' );
define( 'DB_PASSWORD', 'contraseña' );
define( 'DB_HOST', 'localhost' );

Ahora, aquí viene el truco. Vamos a cambiar los valores por los de tu bd remota wordpress.

define( 'DB_NAME', 'nombre_de_tu_bd_remota' );
define( 'DB_USER', 'usuario_remoto' );
define( 'DB_PASSWORD', 'contraseña_remota' );
define( 'DB_HOST', 'IP_DEL_SERVIDOR_REMOTO' );

Pero espera, hay un detalle crucial. Si tu servidor de base de datos remoto usa un puerto diferente al estándar (el 3306), debes especificarlo. La sintaxis es IP_DEL_SERVIDOR:PUERTO. Por ejemplo: 192.168.1.100:3307.

Otra situación común es que el host no sea una IP, sino un nombre de dominio. En ese caso, pon el nombre tal cual. Por ejemplo: db.midominio.com.

Solución al problema de los sockets de MySQL

A veces, WordPress se queja de que no puede conectar porque intenta usar un socket local en lugar de TCP/IP. Para forzar la conexión por red, puedes añadir una línea extra justo después de las definiciones de DB_HOST. Esta línea le dice a WordPress que use el protocolo TCP/IP.

define( 'DB_HOST', 'IP_DEL_SERVIDOR_REMOTO' );
define( 'DB_HOST', 'IP_DEL_SERVIDOR_REMOTO:3306' ); // Si usas puerto estándar

En la práctica, al poner la IP o el hostname, WordPress ya usa TCP/IP. Pero si tienes problemas, puedes intentar añadir la constante WP_USE_EXT_MYSQL (aunque está obsoleta) o simplemente asegurarte de que el servidor MySQL remoto tenga habilitado el protocolo TCP.

Paso 3: Probar la conexión y solucionar errores comunes

Una vez guardado el archivo wp-config.php, intenta cargar tu sitio web. Si todo ha ido bien, verás tu web funcionando con normalidad. Pero si algo falla, verás el típico error "Error establishing a database connection". No es el fin del mundo; vamos a diagnosticarlo.

Error 1: "Connection refused" o "No such file or directory"

Este error suele aparecer cuando el servidor MySQL remoto no está escuchando en el puerto esperado o cuando WordPress está intentando usar un socket local.

Solución: Verifica que el bind-address en el servidor remoto esté bien configurado. También asegúrate de que el puerto 3306 esté abierto en el firewall del servidor remoto. Puedes usar herramientas como telnet o nc para probar la conexión desde tu servidor web.

telnet IP_DEL_SERVIDOR_REMOTO 3306

Si el comando se queda colgado o da error, el puerto está bloqueado. Revisa iptables o el firewall de tu proveedor de nube (como Security Groups en AWS).

Error 2: "Access denied for user"

Este error es más claro: el usuario y la contraseña no tienen permiso para conectarse desde tu IP.

Solución: Vuelve al paso 1 y verifica que creaste el usuario con la IP correcta. Si usaste % como comodín, asegúrate de que el FLUSH PRIVILEGES se ejecutó. A veces, el problema es que el usuario existe pero solo tiene permisos para localhost. Debes crear un usuario específico para la IP remota.

Error 3: La web carga muy lenta

Este es un síntoma típico de latencia de red. Cada consulta a la BD tiene que viajar por internet.

Solución: Asegúrate de que ambos servidores estén en el mismo centro de datos o en la misma región de tu proveedor de nube. Si están en continentes distintos, la latencia será terrible. Considera usar una VPN entre servidores o una conexión privada si tu presupuesto lo permite.

[TIP] Si usas Syspanel para gestionar tus servidores, verifica que la red entre ambos sea de baja latencia. A veces, crear una red privada virtual (VPC) resuelve muchos problemas de velocidad.

Paso 4: Seguridad adicional para tu BD remota

No podemos terminar sin hablar de seguridad. Tener la base de datos expuesta a internet es un riesgo si no lo hacemos bien.

Usa un túnel SSH (recomendado)

En lugar de abrir el puerto 3306 al mundo, puedes usar un túnel SSH. Tu servidor web crea una conexión segura con el servidor de BD y redirige el tráfico localmente. Es mucho más seguro.

ssh -f -N -L 3307:localhost:3306 usuario@IP_DEL_SERVIDOR_BD -p 2106

Luego, en tu wp-config.php, apuntas a localhost:3307 en lugar de a la IP remota. De esta manera, el tráfico viaja cifrado y no expones el puerto de MySQL a internet.

Limita los usuarios y privilegios

No des todos los privilegios a un solo usuario. Crea un usuario que solo pueda hacer SELECT, INSERT, UPDATE y DELETE. Evita darle permisos de DROP o ALTER desde la web. Si un atacante compromete tu WordPress, no podrá borrar tablas fácilmente.

Mantén el software actualizado

Tanto el servidor web como el servidor de BD deben tener las últimas versiones de MySQL/MariaDB y PHP. Las vulnerabilidades viejas son el pan de cada día de los hackers.

Preguntas frecuentes (FAQ)

¿Puedo usar esta configuración con cualquier hosting?

Depende. Muchos hostings compartidos bloquean las conexiones remotas a MySQL. Necesitas un VPS o un servidor dedicado, o al menos un hosting que ofrezca este servicio específico. Si tu proveedor es Syspanel, recuerda que el acceso al panel es por el puerto 2106 y suelen ofrecer opciones de red más avanzadas.

¿Qué pasa si mi web es muy grande y tiene mucho tráfico?

Esta configuración puede ser beneficiosa, pero necesitas una red de muy baja latencia. Lo ideal es que ambos servidores estén en el mismo rack. Si no, el cuello de botella será la red. Considera usar un servicio de base de datos administrada como Amazon RDS o DigitalOcean Managed Databases.

¿Puedo cambiar de vuelta a una base de datos local?

Por supuesto. Solo tienes que revertir los cambios en wp-config.php, volviendo a poner localhost y las credenciales locales. No pierdes datos, solo cambias el origen de las consultas.

¿Cómo sé si mi conexión usa TCP/IP o socket?

Puedes instalar un plugin como "Query Monitor" en WordPress. En la pestaña de "Queries" te dirá si la conexión es por socket o por host. También puedes revisar los logs de MySQL en el servidor remoto.

¿Qué es el puerto 2106 en Syspanel?

Ese es el puerto de acceso al panel de control de Syspanel. No tiene nada que ver con la conexión de base de datos, pero es útil saberlo para gestionar tus servidores y bases de datos si las tienes allí.

Conclusión final

Conectar wordpress base datos remota es un proceso que, aunque parece complejo, se reduce a tres pasos: preparar el servidor de BD, modificar el wp-config.php y asegurar la conexión. No tengas miedo de experimentar en un entorno de pruebas antes de hacerlo en producción. Una vez que lo dominas, te abre un mundo de posibilidades para escalar y asegurar tus proyectos. Si sigues estos pasos y revisas los errores comunes, tendrás tu sitio funcionando con una arquitectura más robusta y profesional. ¡Mucha suerte!

¿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