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

Cómo conectar una base de datos remota a WordPress desde cPanel

Actualizado el 13 de diciembre de 2025

Introducción: ¿Por qué conectar una base de datos remota a WordPress?

Cuando tu sitio web crece, puede que necesites separar la base de datos del servidor donde está alojado WordPress. Esto se hace por razones de rendimiento, seguridad o escalabilidad. Por ejemplo, puedes tener WordPress en un servidor rápido para archivos estáticos y la base de datos en otro servidor más potente, o simplemente quieres centralizar varias bases de datos en un solo gestor MySQL.

Conectar una base de datos remota wordpress desde cPanel no es un proceso mágico, pero requiere seguir pasos precisos. Si te equivocas en un solo carácter del archivo wp-config.php, tu sitio puede mostrar el temido "Error al establecer una conexión con la base de datos". No te preocupes, en esta guía te explicaré todo el proceso paso a paso, como si estuvieras en una clase particular.

Vamos a cubrir desde los conceptos básicos (qué es MySQL remoto) hasta la configuración final en WordPress, pasando por la creación de usuarios y la asignación de privilegios. También resolveremos los errores más comunes que verás en el camino.


Requisitos previos antes de empezar

Antes de tocar nada, asegúrate de tener lo siguiente a mano:

  1. Dos servidores con cPanel (o al menos uno con cPanel y otro con acceso SSH). El servidor que aloja WordPress y el que aloja la base de datos deben poder comunicarse entre sí por el puerto 3306 (el puerto por defecto de MySQL).

  2. Credenciales de administrador de ambos cPanels. Necesitarás acceso completo para crear bases de datos, usuarios y modificar archivos.

  3. Acceso al archivo wp-config.php de tu instalación de WordPress. Puedes acceder mediante el Administrador de archivos de cPanel, FTP o SSH.

  4. Conocimientos básicos de IP y DNS. Necesitarás saber la dirección IP pública del servidor donde está WordPress, porque la añadirás como "host remoto" en el servidor de la base de datos.

[INFO] Si tu servidor de base de datos usa un firewall o un grupo de seguridad (como en AWS o DigitalOcean), asegúrate de abrir el puerto 3306 para la IP del servidor de WordPress. Sin esto, la conexión fallará aunque configures todo bien.


Paso 1: Crear la base de datos en el servidor remoto (cPanel)

El primer paso es crear una base de datos vacía en el servidor que actuará como gestor de datos. Vamos a ello.

1.1. Accede a cPanel y busca "Bases de datos MySQL"

Inicia sesión en el cPanel del servidor donde quieres que viva la base de datos. Busca la sección "Bases de datos" y haz clic en "Bases de datos MySQL".

1.2. Crea una nueva base de datos

En el campo "Nueva base de datos", escribe un nombre descriptivo, por ejemplo: wp_remota. Haz clic en "Crear base de datos".

Verás un mensaje de confirmación con el nombre completo (suele tener un prefijo con tu usuario de cPanel, algo así como usuario_wp_remota). Anota este nombre completo, lo necesitarás más adelante.

1.3. Crea un usuario para la base de datos

En la misma página, baja hasta la sección "Usuarios de MySQL". Crea un nuevo usuario, por ejemplo wp_user. Elige una contraseña segura (puedes usar el generador de contraseñas de cPanel). Anota el nombre de usuario completo (suele ser usuario_wp_user) y la contraseña.

1.4. Asigna todos los privilegios al usuario

En la sección "Añadir usuario a la base de datos", selecciona el usuario que acabas de crear y la base de datos usuario_wp_remota. Haz clic en "Añadir".

Te aparecerá una lista de privilegios. Marca "TODOS LOS PRIVILEGIOS" y pulsa "Realizar cambios". Esto le da control total al usuario sobre esa base de datos.

[WARNING] Nunca asignes privilegios globales (sobre todas las bases de datos) a un usuario que usará WordPress. Limítalo siempre a una sola base de datos. Así, si alguien compromete las credenciales, no podrá tocar otras bases de datos.


Paso 2: Habilitar el acceso remoto a MySQL en cPanel

Por defecto, MySQL en cPanel solo acepta conexiones desde el mismo servidor (localhost). Para permitir que tu servidor de WordPress se conecte, debes añadir la IP de ese servidor a la lista de hosts remotos permitidos.

2.1. Busca "Acceso remoto a MySQL" en cPanel

En el mismo cPanel de la base de datos, busca el icono "Acceso remoto a MySQL" (en inglés puede ser "Remote MySQL").

2.2. Añade la IP del servidor de WordPress

En el campo correspondiente, escribe la dirección IP pública del servidor donde está instalado WordPress. Puedes añadir varias IPs separadas por comas o usar comodines como 192.168.% para permitir un rango (no recomendado para producción).

Haz clic en "Añadir host".

[INFO] Si tu servidor de WordPress tiene una IP dinámica (raro en hosting), puedes usar un servicio como no-ip.org para tener un hostname que apunte a tu IP y añadir ese hostname en lugar de la IP. Pero en hosting normal, la IP es estática.

2.3. Verifica que el puerto 3306 está abierto

Esto no se hace desde cPanel, sino desde el firewall del servidor. Si tu hosting es gestionado, normalmente ya está abierto. Si es un VPS o dedicado, tendrás que configurar iptables o el firewall de tu panel (como CSF o UFW).

Una forma rápida de comprobarlo es ejecutar este comando desde tu ordenador o desde el servidor de WordPress:

telnet IP_DEL_SERVIDOR_MYSQL 3306

Si ves un mensaje como Connected to ..., el puerto está abierto. Si da error "Connection refused" o "Timeout", tendrás que abrir el puerto.


Paso 3: Configurar el archivo wp-config.php de WordPress

Ahora viene la parte más delicada. Debes decirle a WordPress que use la base de datos remota en lugar de la local.

3.1. Localiza y respalda tu wp-config.php

Accede al Administrador de archivos de cPanel en el servidor de WordPress o usa FTP. Navega hasta la carpeta raíz de tu instalación (normalmente public_html). Busca el archivo wp-config.php.

Haz una copia de seguridad descargándolo a tu ordenador. Si algo sale mal, podrás restaurarlo fácilmente.

3.2. Edita las constantes de conexión

Abre el archivo con el editor de cPanel o con un editor de texto local. Busca las siguientes líneas (normalmente alrededor de la línea 20-30):

define( 'DB_NAME', 'nombre_base_local' );
define( 'DB_USER', 'usuario_local' );
define( 'DB_PASSWORD', 'contraseña_local' );
define( 'DB_HOST', 'localhost' );

Deberás reemplazarlas por los datos de tu base de datos remota:

define( 'DB_NAME', 'usuario_wp_remota' );          // Nombre completo de la BD remota
define( 'DB_USER', 'usuario_wp_user' );            // Usuario completo de la BD remota
define( 'DB_PASSWORD', 'tu_contraseña_segura' );   // Contraseña del usuario remoto
define( 'DB_HOST', 'IP_DEL_SERVIDOR_MYSQL' );      // IP pública del servidor de BD

3.3. Guarda y sube el archivo

Guarda los cambios y, si estás usando el editor de cPanel, ya está. Si lo estás editando localmente, súbelo de nuevo al servidor reemplazando el original.

[TIP] Si tu servidor de base de datos usa un puerto distinto al 3306 (por ejemplo, 3307), puedes especificarlo en DB_HOST así: define('DB_HOST', 'IP:3307');. Pero esto es poco común en cPanel.


Paso 4: Probar la conexión

Ahora viene el momento de la verdad. Abre tu navegador y visita tu sitio web. Si todo está bien, cargará normalmente. Si no, verás el error de conexión.

¿Qué hacer si falla?

Aquí tienes una lista de comprobación rápida:

  1. Verifica que la IP esté bien escrita en el "Acceso remoto a MySQL" y en DB_HOST. Un solo dígito mal puede romper todo.

  2. Comprueba la contraseña del usuario MySQL. Recuerda que cPanel a veces añade un prefijo al usuario. Si tu usuario era wp_user, el nombre completo puede ser usuario1_wp_user.

  3. Ping al servidor de BD desde el servidor de WordPress. Puedes usar el comando ping IP_DEL_SERVIDOR_MYSQL desde SSH. Si no responde, hay un problema de red o firewall.

  4. Revisa los logs de MySQL en el servidor de la base de datos. En cPanel, puedes verlos en "Registros de errores". Busca mensajes como "Access denied for user 'usuario'@'IP_de_WordPress'".

[WARNING] Si tu servidor de WordPress y el de la base de datos están en el mismo cPanel (mismo servidor), no necesitas hacer nada de esto. Solo usa localhost como DB_HOST. Este proceso es solo para servidores distintos.


Errores comunes y cómo solucionarlos

Error 1: "Error establishing a database connection"

Este es el más genérico. Normalmente significa que WordPress no puede conectarse al servidor MySQL. Revisa:

  • Que el servidor de BD esté encendido.
  • Que la IP en DB_HOST sea correcta.
  • Que el puerto 3306 esté abierto desde el servidor de WordPress.

Error 2: "Access denied for user 'usuario'@'IP'"

Esto significa que el usuario MySQL no tiene permiso para conectarse desde esa IP. Verifica que hayas añadido correctamente la IP en "Acceso remoto a MySQL" del cPanel de la base de datos. Recuerda que la IP debe ser la pública de tu servidor de WordPress, no la privada.

Error 3: "Unknown database 'usuario_wp_remota'"

El nombre de la base de datos está mal. Asegúrate de usar el nombre completo que aparece en cPanel, incluyendo el prefijo de tu usuario.

Error 4: "Connection timed out"

El firewall del servidor de BD está bloqueando la conexión. Tendrás que abrir el puerto 3306 para la IP de WordPress. Si no tienes acceso al firewall, contacta con tu proveedor de hosting.


Buenas prácticas de seguridad

Conectar una base de datos remota wordpress aumenta la superficie de ataque. Aquí tienes algunas recomendaciones:

  • Usa contraseñas largas y únicas para el usuario MySQL. No uses la misma que la de tu cPanel.

  • Restringe el acceso por IP en "Acceso remoto a MySQL". Solo añade la IP de tu servidor de WordPress, no un rango completo.

  • Usa una conexión segura si es posible. MySQL por defecto no cifra la conexión. Puedes configurar SSL para MySQL, pero es avanzado y no siempre está disponible en hosting compartido.

  • Mantén WordPress actualizado para evitar vulnerabilidades conocidas.

  • Haz copias de seguridad periódicas de la base de datos remota. Puedes usar el "Backup" de cPanel o un plugin como UpdraftPlus.

[TIP] Si tienes la opción, usa una IP privada para la conexión entre servidores (si están en la misma red VPC). Esto evita exponer MySQL a Internet.


Preguntas frecuentes (FAQ)

¿Puedo conectar varias bases de datos remotas a un solo WordPress?

Sí, pero WordPress solo usa una por defecto. Si necesitas varias, tendrás que usar plugins como "WP External DB" o modificar el código para conexiones adicionales. No es recomendable para principiantes.

¿Afecta el rendimiento usar una base de datos remota?

Depende de la latencia entre servidores. Si están en el mismo centro de datos, la diferencia es mínima. Si están en continentes distintos, notarás lentitud. Mide con herramientas como Query Monitor.

¿Qué pasa si mi hosting no permite acceso remoto a MySQL?

Algunos hostings compartidos bloquean esta función por seguridad. En ese caso, tendrás que usar un VPS o un servicio de base de datos en la nube como Amazon RDS o DigitalOcean Managed Databases.

¿Puedo usar Syspanel (antes HestiaCP) para este proceso?

¡Claro! Si en lugar de cPanel usas Syspanel (el antiguo HestiaCP), el proceso es similar pero con diferencias en la interfaz. En Syspanel, el acceso remoto a MySQL se configura desde la sección "Base de datos" y el puerto de acceso al panel es el 2106. La lógica de wp-config.php es exactamente la misma.

¿Cómo sé la IP pública de mi servidor de WordPress?

Puedes ejecutar curl ifconfig.me desde SSH, o buscar "¿Cuál es mi IP?" en Google desde el navegador del servidor (si tiene interfaz). También puedes verla en cPanel en "Información del servidor".


Conclusión y pasos finales

Conectar una base de datos remota wordpress desde cPanel es un proceso de 4 pasos clave: crear la BD y el usuario, habilitar acceso remoto, editar wp-config.php y probar. No es complicado, pero requiere atención al detalle.

Después de completar la conexión, te recomiendo:

  1. Cambia el prefijo de las tablas de WordPress (por defecto wp_) para mayor seguridad.

  2. Configura un sistema de caché (como Redis o Memcached) para compensar la latencia de red.

  3. Monitorea los logs de MySQL durante las primeras 24 horas para detectar conexiones fallidas.

Recuerda que si en algún momento te sientes perdido, puedes revertir los cambios restaurando el wp-config.php original que respaldaste. La base de datos local seguirá intacta.

[INFO] Si tu proveedor de hosting tiene soporte técnico, no dudes en abrir un ticket. Ellos conocen su infraestructura y pueden verificar que el puerto 3306 esté abierto y que la IP esté bien configurada.

Espero que esta guía te haya sido útil. Ahora ya sabes cómo liberar a WordPress de su base de datos local y darle un hogar más potente. ¡Buena suerte con tu proyecto!

¿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